async Task RunInitialLoad(object c)
        {
            Messenger.Default.Send <LoadingMessage>(new LoadingMessage {
                Loading = true
            });
            var initialListing = await _listingProvider.GetInitialListing(_state).Item2();

            var remainingVMs = await MapListing(initialListing, null);

            Messenger.Default.Send <LoadingMessage>(new LoadingMessage {
                Loading = false
            });
            EventHandler <object> tickHandler = (obj, obj2) => RunUILoad(ref remainingVMs, this, obj);

            _timerHandles.Add(new WeakReference(_systemServices.StartTimer(tickHandler, new TimeSpan(200), true)));
        }
 private void OnLoadingMessage(LoadingMessage message)
 {
     if (message.Loading)
     {
         ProgressBarVisibility = true;
         _running++;
         _dispatcherTimerHandle = _systemServices.StartTimer(OnTick, TimeSpan.FromSeconds(2), true);
     }
     else
     {
         _running--;
     }
 }