ahh now I remember, the issue isn't that the listener would be gc'd, but that it would be would not be when unload happens. This `system/events` api so confusing..