Added a mediator pattern.