Decouple Report model from ContentService.
Separate factories for Bot and ContentService.
Fix, remove events from CircularQueue; Add tests.
Add test to fetch empty queues.
Add test for CircularQueue::isEmpty().