Mediator

Added Mediator pattern