Mediator refactored