Add ability to register / cancel a single event.
Also revert refactor, too much trouble with exports.