public static IGenericServiceContainer AddSettingsProvider <TService, TImplementation>(this IGenericServiceContainer services)
     where TService : BaseSettingsProvider
     where TImplementation : class, TService
 {
     services.RegisterSingleton <TImplementation>();
     services.RegisterSingleton <TService>(sp => sp.GetService <TImplementation>());
     services.AddSettingsProvider <TImplementation>();
     return(services);
 }