public (Game game, GameState gameState) BuildGame( IIdPool idPool, GameSettings settings, UserInfo creator, Color creatorColor) { var nextGameId = new GameId(idPool.NextForGame()); var game = new Game(nextGameId, settings, _clock.UtcNow()); var gameState = GameState.InitialState(game.Id, settings.BoardSize); var player = BuildPlayer(idPool, creator, creatorColor); game.JoinGame(player, _clock.UtcNow()); return(game, gameState); }