public async Task <StartChampSelectDTO> StartChampionSelection(Double gameId, Double optomisticLock)
        {
            int Id = Invoke("gameService", "startChampionSelection", new object[] { gameId, optomisticLock });

            while (!results.ContainsKey(Id))
            {
                await Task.Delay(10);
            }
            TypedObject         messageBody = results[Id].GetTO("data").GetTO("body");
            StartChampSelectDTO result      = new StartChampSelectDTO(messageBody);

            results.Remove(Id);
            return(result);
        }
        /// 49.)
        public void StartChampionSelection(Double gameId, Double optomisticLock, StartChampSelectDTO.Callback callback)
        {
            StartChampSelectDTO cb = new StartChampSelectDTO(callback);

            InvokeWithCallback("gameService", "startChampionSelection", new object[] { gameId, optomisticLock }, cb);
        }