Better mixin decoupling + add possibility to subscribe to events