private void UpdatePodcasts(NotifyCollectionChangedEventArgs e)
        {
            CoreDispatcher dispatcher = CoreApplication.MainView.CoreWindow.Dispatcher;

            UIThread.Dispatch(() =>
            {
                if (e == null)
                {
                    Podcasts.Clear();
                    Podcasts.AddAll(Data.Podcasts.Select((podcast) => new PodcastSummaryViewModel(podcast, ServiceContext)));
                    return;
                }

                if (e.Action == NotifyCollectionChangedAction.Add)
                {
                    foreach (var item in e.NewItems)
                    {
                        Podcast podcast = item as Podcast;
                        if (podcast != null)
                        {
                            Podcasts.Add(new PodcastSummaryViewModel(podcast, ServiceContext));
                        }
                        else
                        {
                            foreach (Podcast podcastItem in (IEnumerable <Podcast>)item)
                            {
                                Podcasts.Add(new PodcastSummaryViewModel(podcastItem, ServiceContext));
                            }
                        }
                    }
                    return;
                }
                if (e.Action == NotifyCollectionChangedAction.Remove)
                {
                    foreach (Podcast podcast in e.OldItems)
                    {
                        Podcasts.RemoveFirst((podcastViewModel) => podcastViewModel.Data.Id == podcast.Id);
                    }
                }
            });
        }