Refactoring: turned GameState into an interface, added OnePlayerGameState as its implementation.