protected internal void ReadCats(Action OnComplete)
        {
            blogReader.GetBlogCategories((results, ex) =>
            {
                if (ex != null)
                    return;

                List<CatFeedItem> catFeedItems = results;
                catList.Items.Clear();
                catFeedItems.ForEach(item => catList.Items.Add(item));

                OnComplete.IfNotNullInvoke();
            });
        }
        protected internal void ReadUserinfo(Action OnComplete)
        {
            blogReader.ReadUserinfo((results, ex) =>
            {
                if (ex != null)
                    return;

                List<UserInfo> blogInfo = results;

                aboutTxt.Text = "About " + blogInfo[0].displayName;
                Uri uri = new Uri(blogInfo[0].Avatar);
                aboutImg.Source = new BitmapImage(uri);
                bioTxt.Text = blogInfo[0].Bio;
                app.SiteAuthorName = blogInfo[0].displayName;
                app.SiteEmail = blogInfo[0].Email;

                updateAppValues();

                //preload Categories section
                OnComplete.IfNotNullInvoke();
            });
        }
        protected internal void GetRecientRssFeed(Action OnComplete)
        {
            blogReader.GetRecentRss((results, ex) =>
            {
                if (ex != null)
                    return;

                List<RSSFeedItem> RSSFeedItems = results;
                homeList.Items.Clear();
                RSSFeedItems.ForEach(item => homeList.Items.Add(item));

                //preload About section
                OnComplete.IfNotNullInvoke();
            });
        }