public void Register(DefaultServiceLocator registry)
        {
            //System.Diagnostics.Debugger.Break(); 
            ConfigureProxyTypes(registry);
            registry.RegisterSingleton<IDirectoryController>(container =>
            {
                return new DefaultDirectoryController();
            });
            registry.RegisterSingleton<LoggerContainer>(container =>
            {
                var logger = new LoggerContainer();
                logger.Add(new DefaultLogger());
                return logger;
            });
            registry.Register<ILogger>(container =>
            {
                return container.Create<LoggerContainer>();
            });
            registry.Register<ILoggerContainer>(container =>
            {
                return container.Create<LoggerContainer>();
            });
            registry.Register<IModuleLoader>(container =>
            {
                return container.Create<SelectiveModuleLoader>();
            });
            registry.Register<IAppDomainFactory>(container =>
            {
                return container.Create<DefaultAppDomainFactory>();
            });
            registry.DeclareSingleton(typeof(ModuleList));
            registry.DeclareSingleton(typeof(RunCommandOnCollection));
            registry.DeclareSingleton(typeof(ExecuteCommandOnCollection));
            registry.DeclareSingleton(typeof(ExecuteBackgroundCommandOnCollection));
            registry.DeclareSingleton(typeof(ReloadCommandOnCollection));
            registry.DeclareSingleton(typeof(DefaultModuleDirectorySupervisor));
            registry.DeclareSingleton(typeof(AssemblyResolver));
            //registry.DeclareSingleton(typeof(DefaultLoader));
            AddCommandHandlersToCollections();

        }