public KernelConfigurator(IKernel kernel)
        {
            _kernel = kernel;

            var namedScopeModule = new NamedScopeModule();

            if (!kernel.HasModule(namedScopeModule.Name))
            {
                kernel.Load(namedScopeModule);
            }

            _consumerRegistry = kernel.TryGet <IConsumerRegistry>();
            if (_consumerRegistry == null)
            {
                kernel.Bind <IConsumerRegistry>().To <ConsumerRegistry>().InSingletonScope();
                _consumerRegistry = kernel.Get <IConsumerRegistry>();
            }

            _sagaRegistry = kernel.TryGet <ISagaRegistry>();
            if (_sagaRegistry == null)
            {
                kernel.Bind <ISagaRegistry>().To <SagaRegistry>().InSingletonScope();
                _sagaRegistry = kernel.Get <ISagaRegistry>();
            }
        }
    static IContainer ConstructNinjectObjectBuilder()
    {
        var ninjectSettings = new NinjectSettings {
            LoadExtensions = false
        };
        var contextPreservationModule = new ContextPreservationModule();
        var namedScopeModule          = new NamedScopeModule();
        var standardKernel            = new StandardKernel(ninjectSettings, contextPreservationModule, namedScopeModule);

        return(new NinjectObjectBuilder(standardKernel, true));
    }