public AsyncRegularTimer(ITimerThreadPoolExecuter threadPoolExecuter, IAsyncDelay taskDelay, TimeSpan interval, bool delayOnExecute)
 {
     _threadPoolExecuter = threadPoolExecuter;
     _taskDelay          = taskDelay;
     _interval           = interval;
     _delayOnExecute     = delayOnExecute;
 }
 public TimerFactory(ITimerThreadPoolExecuter timerThreadPoolExecuter, IAsyncDelay taskDelay)
 {
     _timerThreadPoolExecuter = timerThreadPoolExecuter;
     _taskDelay = taskDelay;
 }
 public AsyncIntervalTimer(IAsyncDelay taskDelay, TimeSpan interval, bool delayOnExecute)
 {
     _taskDelay      = taskDelay;
     _interval       = interval;
     _delayOnExecute = delayOnExecute;
 }