public BasicUniverse(UniverseState state) {
this.state = state;
this.universe3D = new BasicUniverse3D(state.getUniv3DState(), this);
this.environment = new BasicEnvironment(state.getEnvironment());
this.physics = new BasicPhysics(this, state.getPhysics());
this.synchronizer = new BasicSynchronizerCore(state.getSynchronizerState());
this.dateHandler = new DateHandler(state.getDateHandler());
ConditionalTaskStateFactory taskStateFactory = new ConditionalTaskStateFactory();
ConditionalTaskState dateUpdaterState = taskStateFactory.createConditionalTaskState(DateUpdater.class);
DateUpdater dateUpdater = new DateUpdater(dateUpdaterState, dateHandler.getDate());
synchronizer.schedule(dateUpdater);