private async Task OnIntervalAsync(IBackendAsync backend)
        {
            var current = await backend.GetCurrentAsync().ConfigureAwait(false);

            if (lastCurrent != current?.Name)
            {
                CurrentChanged?.Invoke(this, EventArgs.Empty);
                lastCurrent = current?.Name;
            }
        }
 public EntryController(IBackendAsync backend)
 {
     this.backend = backend;
 }
        public CurrentEntryPoller(IBackendAsync backend, double secondsInterval = 5)
        {
            var interval = TimeSpan.FromSeconds(secondsInterval);

            timer = new Timer(OnInterval, backend, interval, interval);
        }