//TODO: limit size of result sets public void AddResult(int result) { LastResult = result; ResultHistory.Enqueue(result); var classifier = new ResultClassifier(); List <Classification> classifications = classifier.ClassifyResult(result); foreach (var classification in classifications) { Results.AddOrUpdate(classification, 1, (key, oldValue) => oldValue + 1); } }