move out near-verbatim identical code in MoveHero and CreateGame to third method; give GameState a JObject constructor for the sake of consistency
mono version