Inheritance: INotifyPropertyChanged
        public TournamentContext(ChallongePortal portal, int tournamentId)
        {
            Portal = portal;
            this.tournamentId = tournamentId;

            var queryResults = queryData();
            if (queryResults != null)
            {
                Tournament = new ObservableTournament(queryResults.Item1, this);
                Tournament.Initialize(queryResults.Item2, queryResults.Item3);
            }
        }
        public TournamentContext(ChallongePortal portal, int tournamentId)
        {
            Portal            = portal;
            this.tournamentId = tournamentId;

            var queryResults = queryData();

            if (queryResults != null)
            {
                Tournament = new ObservableTournament(queryResults.Item1, this);
                Tournament.Initialize(queryResults.Item2, queryResults.Item3);
            }
        }
        /// <summary>
        /// Refresh context data
        /// </summary>
        public void Refresh()
        {
            var queryResults = queryData();

            if (queryResults != null)
            {
                if (Tournament == null)
                {
                    Tournament = new ObservableTournament(queryResults.Item1, this);
                    Tournament.Initialize(queryResults.Item2, queryResults.Item3);
                }
                else
                {
                    Tournament.Update(queryResults.Item1, queryResults.Item2, queryResults.Item3);
                }
            }
        }
        /// <summary>
        /// Refresh context data
        /// </summary>
        public void Refresh()
        {
            var queryResults = queryData();

            if (queryResults != null)
            {
                if (Tournament == null)
                {
                    Tournament = new ObservableTournament(queryResults.Item1, this);
                    Tournament.Initialize(queryResults.Item2, queryResults.Item3);
                }
                else Tournament.Update(queryResults.Item1, queryResults.Item2, queryResults.Item3);
            }
        }