A game state is a state of the engine - the current state is updated each frame, and a change of state can be requested at any time - the switch will occur cleanly between frames. That is all there is to a state. The rest of the information should actually be in GameState.