Some more refactoring to make mediator the only event firer