implemented the domain report builder using the mediator pattern