public static ServiceConfigurator <T> WhenPowerEvent <T>(this ServiceConfigurator <T> configurator,
                                                                 Func <T, PowerEventArguments, bool> callback)
            where T : class
        {
            if (configurator == null)
            {
                throw new ArgumentNullException(nameof(configurator));
            }

            configurator.WhenPowerEvent((service, control, arguments) => callback(service, arguments));

            return(configurator);
        }