possible approach for synchronizing updates to shared GameState

There are two TODO comments indicating missing
functionality:

- in GameStateManager, for reconciling multiple proposed
  GameStates

- in GameState's clone() method, for making a deep copy
  of internal GameState