Added event bus pattern