I like the basic idea, but I think drawing too much inspiration from DOM events is a bad idea. What does it mean to "capture" a pure JS event? Further, the DOM event model has problems. It would be nice if events were first-class, not strings. It would be more idiomatic JS, I would argue, to do someObject.onClick.add(<handler>). - a