public TimerBasedPeriodicCheck(IPeriodicCheck periodicCheck, ISendMessages messageSender, Configure configure, UnicastBus unicastBus, CriticalError criticalError)
        {
            this.periodicCheck    = periodicCheck;
            this.configure        = configure;
            this.unicastBus       = unicastBus;
            serviceControlBackend = new ServiceControlBackend(messageSender, configure, criticalError);

            timer = new Timer(Run, null, TimeSpan.Zero, periodicCheck.Interval);
        }
        public TimerBasedPeriodicCheck(IPeriodicCheck periodicCheck, ISendMessages messageSender, Configure configure, UnicastBus unicastBus, CriticalError criticalError)
        {

            this.periodicCheck = periodicCheck;
            this.configure = configure;
            this.unicastBus = unicastBus;
            serviceControlBackend = new ServiceControlBackend(messageSender, configure, criticalError);

            timer = new Timer(Run, null, TimeSpan.Zero, periodicCheck.Interval);
        }