circular module reference between `system/event` and `system/unload`. it can be avoided by moving the `require('./unload')` line down here (instead at the top of the file) after the exports are assigned, but i thought this would be a "cleaner" solution? @Mossop