public virtual void Init(Action <IServiceCollection> registerServicesAction = null)
        {
            MockConfigurationManager = new MockConfigurationManager();

            var services = new ServiceCollection()
                           .AddApplicatonServices <ServicesModule>()
                           .AddApplicatonServices <HtmlModule>()
                           .AddApplicatonServices <OneNoteModule>()
                           .AddApplicatonServices <FileNavigationModule>()
                           //.AddLogging(configure => configure.AddConsole())
                           .AddSingleton(sp => MockConfigurationManager);

            services.AddMediatR(typeof(MiddlewareModule).Assembly);

            registerServicesAction?.Invoke(services);

            ServiceProvider = services
                              .AddLogging()
                              .BuildServiceProvider();

            ModulesManager = ServiceProvider.GetService <IModulesManager>();

            try
            {
                ModulesManager.GetCurrentModuleInfo();
            }
            catch (ModuleNotFoundException)
            {
                ModulesManager.UploadModule(@"..\..\..\..\Modules\rst\rst.bnm", "rst");
                ModulesManager.UploadModule(@"..\..\..\..\Modules\kjv\kjv.bnm", "kjv");
            }
        }