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) });
        }