Converted everything into using the mediator instead of direct calls