// ReSharper disable once ContextualLoggerProblem
        public HighWaterAgent(IHighWaterDetector detector, ShardStateTracker tracker, ILogger logger, DaemonSettings settings, CancellationToken token)
        {
            _detector = detector;
            _tracker  = tracker;
            _logger   = logger;
            _settings = settings;
            _token    = token;

            _timer = new Timer(_settings.HealthCheckPollingTime.TotalMilliseconds)
            {
                AutoReset = true
            };
            _timer.Elapsed += TimerOnElapsed;
        }