/// <summary>
        /// Adds a Material.Blazor <see cref="IMBLoggingService"/> to the service collection
        /// <example>
        /// <para>You can optionally add configuration:</para>
        /// <code>
        /// services.AddMBLoggingService(new MBLoggingServiceConfiguration()
        /// {
        ///     Level = Trace
        /// });
        /// </code>
        /// </example>
        /// </summary>
        private static IServiceCollection AddMBLoggingService(this IServiceCollection services, MBLoggingServiceConfiguration configuration = null)
        {
            if (configuration == null)
            {
                configuration = new MBLoggingServiceConfiguration();
            }

            return(services.AddScoped <IMBLoggingService, LoggingService>(serviceProvider => new LoggingService(configuration)));
        }
 /// <summary>
 /// Adds Snackbar, Toast, and Logging services for Material.Blazor. This is required for any app that uses one or more
 /// of these components. The configurations are optional.
 /// </summary>
 /// <param name="services"></param>
 /// <param name="snackbarServiceConfiguration"></param>
 /// <param name="toastServiceConfiguration"></param>
 /// <param name="loggingServiceConfiguration"></param>
 /// <returns></returns>
 public static IServiceCollection AddMBServices(
     this IServiceCollection services,
     MBLoggingServiceConfiguration loggingServiceConfiguration   = null,
     MBSnackbarServiceConfiguration snackbarServiceConfiguration = null,
     MBToastServiceConfiguration toastServiceConfiguration       = null)
 {
     return(services
            .AddMBLoggingService(loggingServiceConfiguration)
            .AddMBSnackbarService(snackbarServiceConfiguration)
            .AddMBToastService(toastServiceConfiguration)
            .AddMBTooltipService());
 }