public Task<Tournament> UpdateAsync(Tournament tournament)
 {
     return Rest.PutAsync<TournamentWrapper>(SingleResourceUrl(tournament.Id), new
     {
         tournament = new
         {
             description = tournament.Description,
             name = tournament.Name,
             ranked_by = tournament.RankedBy,
             tournament_type = tournament.Type
         }
     }).ToTournamentAsync();
 }
 public Task<Tournament> CreateAsync(Tournament tournament)
 {
     return Rest.PostAsync<TournamentWrapper>(ResourceUrl, new
     {
         tournament = new
         {
             description = tournament.Description,
             url = Guid.NewGuid().ToString().Replace("-", ""),
             name = tournament.Name,
             @private = tournament.Private,
             ranked_by = tournament.RankedBy,
             tournament_type = tournament.Type
         }
     }).ToTournamentAsync();
 }
 public Task<Tournament> DestroyAsync(Tournament tournament)
 {
     return Rest.DeleteAsync<TournamentWrapper>(SingleResourceUrl(tournament.Id)).ToTournamentAsync();
 }
 public Task<Tournament> ResetAsync(Tournament tournament)
 {
     return Rest.PostAsync<TournamentWrapper>(SingleResourceWithActionUrl(tournament.Id, "reset")).ToTournamentAsync();
 }