public static IServiceCollection AddWorkManager(this IServiceCollection services,
                                                        WorkManagerOptions options)
        {
            Checker.NotNullArgument(options, nameof(options));

            services.TryAddSingleton(typeof(WorkManagerOptions), _ => options);

            return(services);
        }
        public static IServiceCollection AddWorkManager(
            this IServiceCollection services,
            Action <WorkManagerOptions> config)
        {
            Checker.NotNullArgument(config, nameof(config));

            var options = new WorkManagerOptions
            {
                DelayMinimum   = 5,
                DelayMaximum   = 60,
                DelayIncrement = 5
            };

            config(options);

            return(AddWorkManager(services, options));
        }