public IRunningGameState StartGame(IInitialGameState gameState) { var running = (IRunningGameState)gameState; var roundPlayers = _playerFactory.CreateRoundPlayers(gameState.Players); var round = _roundFactory.CreateRound(roundPlayers); var runningRound = _roundStateFactory.StartRound(round); running.RoundState = runningRound; return(running); }