Wait, `events.on` third argument is for strong ref, right?
If that's the case, onclose, shouldn't be gced.