ditch idea of general IStateComponent
rename SimulationState to State