Refactor to use event-based model.