public async Task <ActionResult <object> > Get( [FromRoute] Guid id, CancellationToken cancellationToken) { var gameId = new GameId(id); var game = await _provider.GetGameByIdAsync(gameId, cancellationToken); if (game == null) { return(NotFound()); } var init = game.Init(Player); if (init == null) { return(NotFound()); } return(new { init, updates = game.GenerateForPlayer(Player) }); }