private async Task <CheckResultData> CheckStatusAsync(string url, CancellationToken token)
        {
            var now = _systemClock.UtcNow;

            return(await _check.ExecuteAsync(
                       url,
                       jToken =>
            {
                var lastUploadedString = jToken.Value <string>("Time");
                var lastUploaded = DateTimeOffset.Parse(lastUploadedString);
                var sinceLastUploaded = now - lastUploaded;

                if (sinceLastUploaded > ErrorThreshold)
                {
                    return new CheckResultData
                    {
                        Type = CheckResultType.Failure,
                        Message = $"The last upload was at {lastUploaded} ({sinceLastUploaded} ago) which is greater than the error threshold, {ErrorThreshold}."
                    };
                }

                return new CheckResultData
                {
                    Type = CheckResultType.Success
                };
            },
                       token));
        }
        public async Task <CheckResultData> ExecuteAsync(CancellationToken token)
        {
            return(await _check.ExecuteAsync(
                       Url,
                       jToken =>
            {
                if (jToken["Schedules"].Count() == 0)
                {
                    return new CheckResultData
                    {
                        Type = CheckResultType.Failure,
                        Message = $"The ConnectorRide JSON does not have any schedules in it."
                    };
                }

                return new CheckResultData
                {
                    Type = CheckResultType.Success
                };
            },
                       token));
        }