/// <summary>
        /// Configure the Conductor service endpoints for all defined consumer, saga, and activity types.
        /// </summary>
        /// <param name="configurator">The <see cref="IBusFactoryConfigurator" /> for the bus being configured</param>
        /// <param name="registration">The registration for this bus instance</param>
        /// <param name="options">Optional service instance options to start</param>
        /// <typeparam name="T">The bus factory type (depends upon the transport)</typeparam>
        public static void ConfigureServiceEndpoints <T>(this IBusFactoryConfigurator <T> configurator, IBusRegistrationContext registration,
                                                         ServiceInstanceOptions options = null)
            where T : IReceiveEndpointConfigurator
        {
            options ??= new ServiceInstanceOptions();
            if (options.EndpointNameFormatter is DefaultEndpointNameFormatter)
            {
                var formatter = registration.GetService <IEndpointNameFormatter>();
                if (formatter != null)
                {
                    options.SetEndpointNameFormatter(formatter);
                }
            }

            configurator.ServiceInstance(options, instanceConfigurator =>
            {
                if (options.TryGetOptions(out JobServiceOptions jobServiceOptions))
                {
                    instanceConfigurator.ConfigureJobServiceEndpoints(jobServiceOptions);
                }

                registration.ConfigureEndpoints(instanceConfigurator, instanceConfigurator.EndpointNameFormatter);
            });