GameState's missing destructor added and GameStateMachine introduced