private void UpdateMatchCache(object state)
        {
            if (_matchListings.Count == 0)
            {
                LogProgress("No match ID listings to use for match IDs.");
                return;
            }

            if (_selectedMatchListing == null)
            {
                LogProgress("No match listing selected to use for match IDs.");
                return;
            }

            LogProgress("Starting to pull and cache matches for " + _selectedMatchListing.DisplayName + ".");

            _matchCacheCancelationSource = new CancellationTokenSource();
            _matchManager.CacheMatchesFromAPI(new List <SeedData.MatchListing>()
            {
                _selectedMatchListing
            }, _matchCacheCancelationSource.Token);
            _matchCacheCancelationSource = null;

            LogProgress("Finished caching matches.");
        }