Communicate through callbacks and an event bus