public static void AddService <TService>(this ServiceBusConfigurator configurator, BusServiceLayer layer, Func <TService> serviceFactory)
            where TService : IBusService
        {
            var serviceConfigurator = new DefaultBusServiceConfigurator <TService>(layer, bus => serviceFactory());

            configurator.AddBusConfigurator(serviceConfigurator);
        }
        public static IServiceBusConfigurator AddService <TService>(this IServiceBusConfigurator configurator, IBusServiceLayer layer,
                                                                    Func <IServiceBus, TService> serviceFactory)
            where TService : IBusService
        {
            var serviceConfigurator = new DefaultBusServiceConfigurator <TService>(layer, serviceFactory);

            configurator.AddBusConfigurator(serviceConfigurator);
            return(configurator);
        }