public async void OnSelecting(SquareImage selected)
            {
                selected.Button.Background = new SolidColorBrush(Colors.Green);

                //send selection to server
                context.loadBar.Visibility = Visibility.Visible;
                var response = await MyHttpClient.Game.SendRequestAsync(MyHttpClient.Endpoints.DRAW, new JObject
                {
                    ["token"]    = Prefs.Instance.Token,
                    ["decision"] = selected.Square.Type.ToString(),
                    ["gameId"]   = context.gameID,
                });

                string opponentSelection = (string)response["opponent"];

                if (opponentSelection != null)                 //opponent has selected
                {
                    context.loadBar.Visibility = Visibility.Collapsed;
                    int result = (int)response["result"];
                    context.Resolve(selected, opponentSelection, result);
                }
                else
                {
                    context.State = new WaitingState(context, selected);                  //wait for opponent
                }
            }
            public void OnOpponentSelected(JObject json)
            {
                string selected = (string)json["opponent"];
                int    result   = (int)json["result"];

                context.Resolve(mySelection, selected, result);
                //stop progress bar

                //context.loadBar.Visibility = Visibility.Collapsed;
            }