Separated logic into managers, listen in on events