public GuidanceBrowserViewModel(GuidanceBrowserContext context, IServiceProvider serviceProvider)
        {
            Guard.NotNull(() => context, context);
            Guard.NotNull(() => serviceProvider, serviceProvider);

            this.context         = context;
            this.serviceProvider = serviceProvider;

            this.NavigationCommand   = new RelayCommand <Uri>(uri => this.Navigate(uri));
            this.guidanceManager     = context.GuidanceManager;
            this.uriReferenceService = context.UriReferenceService;
        }
        protected override void Initialize()
        {
            base.Initialize();

            var componentModel = this.GetService<SComponentModel, IComponentModel>();
            componentModel.DefaultCompositionService.SatisfyImportsOnce(this);

            var context = new GuidanceBrowserContext
            {
                GuidanceManager = this.GuidanceManager,
                UriReferenceService = this.UriReferenceService,
                UserMessageService = this.UserMessageService,
            };

            this.viewModel = new GuidanceBrowserViewModel(context, this.ServiceProvider);
            this.Content = new GuidanceBrowserView { DataContext = this.viewModel };
        }