public async Task Execute()
        {
            if (!_updateHelper.IsTimeForNextUpdate())
            {
                return;
            }

            var onlineVersion = await _onlineVersionHelper.LoadOnlineVersionAsync();

            if (!_updateHelper.UpdateShouldBeShown())
            {
                return;
            }

            if (onlineVersion == null)
            {
                _logger.Error("OnlineVersion not available");
                return;
            }

            var thisVersion = _versionHelper.ApplicationVersion;

            if (thisVersion.CompareTo(onlineVersion.Version) < 0)
            {
                await _updateDownloader.StartDownloadAsync(onlineVersion);
            }
        }