/// <summary>
        /// These are performed inside a thread to stop the view loading from being blocked.
        /// </summary>
        private void ThreadEntry()
        {
            using (NSAutoreleasePool pool = new NSAutoreleasePool())
            {
                StartupLoader loader = new StartupLoader();
                loader.InitializeDatabase();
                loader.ClearOldItems();
                loader.LoadSettings();
                loader.LoadMonoTouchDialog();
                loader.LoadCategories();
                loader.LoadItems();
                loader.LoadSites();
                loader.LoadHtmlTemplates();

                // Fade out container view
                InvokeOnMainThread(delegate
                {
                    // Add the UINav controller, send it to the back so it's hidden
                    _rootController            = new RootController();
                    _rootController.View.Frame = new RectangleF(0, -20, 320, 480);
                    View.AddSubview(_rootController.View);
                    View.SendSubviewToBack(_rootController.View);

                    UIView.BeginAnimations(null);
                    UIView.SetAnimationDuration(0.5);
                    UIView.SetAnimationTransition(UIViewAnimationTransition.None, _containerView, true);
                    UIView.SetAnimationDelegate(this);
                    UIView.SetAnimationDidStopSelector(new Selector("fadeOutDidFinish"));
                    _containerView.Alpha = 0;
                    UIView.CommitAnimations();
                });
            }
        }
        /// <summary>
        /// These are performed inside a thread to stop the view loading from being blocked. 
        /// </summary>
        private void ThreadEntry()
        {
            using (NSAutoreleasePool pool = new NSAutoreleasePool())
            {
                StartupLoader loader = new StartupLoader();
                loader.InitializeDatabase();
                loader.ClearOldItems();
                loader.LoadSettings();
                loader.LoadMonoTouchDialog();
                loader.LoadCategories();
                loader.LoadItems();
                loader.LoadSites();
                loader.LoadHtmlTemplates();

                // Fade out container view
                InvokeOnMainThread(delegate
                {
                    // Add the UINav controller, send it to the back so it's hidden
                    _rootController = new RootController();
                    _rootController.View.Frame = new RectangleF(0,-20,320,480);
                    View.AddSubview(_rootController.View);
                    View.SendSubviewToBack(_rootController.View);

                    UIView.BeginAnimations(null);
                    UIView.SetAnimationDuration(0.5);
                    UIView.SetAnimationTransition(UIViewAnimationTransition.None,_containerView,true);
                    UIView.SetAnimationDelegate(this);
                        UIView.SetAnimationDidStopSelector(new Selector("fadeOutDidFinish"));
                    _containerView.Alpha = 0;
                    UIView.CommitAnimations();
                });
            }
        }