protected override async Task InitializeAsync(CancellationToken cancellationToken, IProgress <ServiceProgressData> progress)
    {
        await base.InitializeAsync(cancellationToken, progress);

        AddService(typeof(IExtensionSettings), async(container, cancellation, type) => await ExtensionSettings.CreateAsync(), true);
        AddService <FilterService, IFilterService>(new FilterService());
        AddService <HierarchyProvider, IHierarchyProvider>(new HierarchyProvider());
        AddService <Logger, ILogger>(new Logger());
        AddService <SolutionExplorer, ISolutionExplorer>(new SolutionExplorer());
        AddService <WaitDialogFactory, IWaitDialogFactory>(new WaitDialogFactory());

        await FilterProjectsCommand.InitializeAsync(this);

        await SolutionLoadObserver.InitializeAsync();
    }