Mediator Design Pattern Implementation