public Task OnGameUpdated(Game.Game game) { var tasks = new List <Task>(); tasks.Add(AdminsAndSpectators.SendAsync("GameUpdated", new { game.Tiles })); foreach (var player in game.Players) { tasks.Add(Client(player.Player.Id).SendAsync("GameUpdated", new { Tiles = game.GetViewportFor(player), Player = new { player.Row, player.Column } })); } return(Task.WhenAll(tasks)); }