Refactor to more event-driven model