Refactor the topics and event controllers.