public AsynchronousRegularTimer(ITimerThreadPoolExecuter threadPoolExecuter, IAsynchronousDelay taskDelay, TimeSpan interval, bool delayOnExecute)
 {
     _threadPoolExecuter = threadPoolExecuter;
     _taskDelay = taskDelay;
     _interval = interval;
     _delayOnExecute = delayOnExecute;
 }
 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 TimerFactory(ITimerThreadPoolExecuter timerThreadPoolExecuter, IAsynchronousDelay taskDelay)
 {
     _timerThreadPoolExecuter = timerThreadPoolExecuter;
     _taskDelay = taskDelay;
 }