/// <summary>
        /// Registers XPike.Configuration with the DI container with a custom-built IConfigurationService.
        /// Uses an optional IDictionary to obtain default configuration values.
        ///
        /// The collection of configuration providers registered with the DI container will not be used.
        /// </summary>
        /// <param name="dependencyCollection"></param>
        /// <param name="providerSetup"></param>
        /// <param name="staticConfig"></param>
        /// <returns></returns>
        public static IDependencyCollection AddXPikeConfiguration(this IDependencyCollection dependencyCollection, Action <IXPikeConfigBuilder> providerSetup)
        {
            dependencyCollection.AddXPikeConfiguration()
            .RegisterSingleton(new XPikeConfigBuilder(providerSetup).Build());

            return(dependencyCollection);
        }