public void HandleShowNotification(ShowNotificationPayload showNotificationPayload)
        {
            if (showNotificationPayload.Element == null && !string.IsNullOrWhiteSpace(showNotificationPayload.Text))
            {
                showNotificationPayload.Element = new TextBlock
                                                      {
                                                          Text = showNotificationPayload.Text,
                                                          FontSize = (double) FindResource("SubHeadingFontSize"),
                                                          FontFamily = (FontFamily) FindResource("AltHeadingFont"),
                                                          Foreground = (Brush) FindResource("InverseTextColour"),
                                                      };
            }

            if (showNotificationPayload.Element == null)
                return;

            NotificationQueue.Add(showNotificationPayload);

            if (showNotificationPayload.Element.Parent != null)
                return;

            if (showNotificationPayload.TimeSpan != TimeSpan.Zero)
            {
                Action actRemoveNotification = async () =>
                                                         {
                                                             await
                                                                 Task.Delay(
                                                                     (int)
                                                                     showNotificationPayload.TimeSpan.TotalMilliseconds);
                                                             lock (NotificationQueue)
                                                             {
                                                                 if (NotificationQueue.Contains(showNotificationPayload))
                                                                 {
                                                                     NotificationQueue.Remove(showNotificationPayload);
                                                                 }
                                                             }
                                                             RemoveNotification(showNotificationPayload.Element);
                                                         };
                actRemoveNotification();
            }
            if (ccContent.Content == null && NotificationQueue.Any())
                ShowNotification(NotificationQueue.First().Element, NotificationQueue.First().NotificactionLevel);
        }
        public void CheckForNewUpdates()
        {
            if (_isModified)
            {
                var reloadingMessage = new ShowNotificationPayload("Reloading Streams", TimeSpan.FromSeconds(10),
                                                                   NotificactionLevel.Information);
                EventAggregator.GetEvent<ShowNotification>().Publish(reloadingMessage);

                Task.Run(() => EventAggregator.GetEvent<ReloadFilter>().Publish(new NullEvent()));

                _isModified = false;
            }
        }