mediator pattern

rt