private async Task CompareWithCache(LadderEntry entry, IMemoryCache cache, Func<string, Task> Send)
        {
            var key = entry.Request.RegionID + ":" + entry.RealmID + ":" + entry.Name;

            LadderEntry cachedEntry = default(LadderEntry);

            var cached = cache.TryGetValue(key, out cachedEntry);

            cache.Set(key, entry);

            if (cached)
            {
                var change = new LadderChange(cachedEntry, entry);

                if (change.Changed())
                {
                    SaveChange(change);
                    BroadcastChange(change, Send);              
                }
            }
        }
        public async Task GetRecentActivity(
            string bracket,
            BattleDotSwag.Locale locale,
            BattleDotSwag.Region region,
            string key,
            IMemoryCache cache,
            Func<string, Task> Send)
        {
            var endpoint = new LeaderboardEndpoint(bracket, locale, key);
            var requestor = new BattleNetService();
            var leaderboard = new List<LadderEntry>();
            var request = new QueueDodge.Models.BattleNetRequest()
            {
                Bracket = bracket,
                Locale = locale.ToString(),
                RegionID = (int)region,
                RequestDate = DateTime.Now,
                RequestType = "leaderboard",
                Url = requestor.GetUri(endpoint, region).ToString(),
                Duration = 0
            };

            var addedRequest = data.BattleNetRequests.Add(request).Entity;
            data.SaveChanges();

            var json = requestor.Get(endpoint, region).Result;

            var ladder = JsonConvert.DeserializeObject<Leaderboard>(json);



            foreach(var entry in ladder.Rows)
            {
                var ladderEntry = new LadderEntry(entry, addedRequest);
                leaderboard.Add(ladderEntry);
                CompareWithCache(ladderEntry, cache, Send);
            };

            cache.Set(region + ":" + bracket, leaderboard);
        }