> Why "new Event(e).stop();" ?? JS has dynamic arguments. So func defined as func(e) will still run even with no e passed (as is the case when an event handler is fake-fired). Then you've got probs if you expect stop() methods to exist on that e.
new Event(e) will always return a valid Event object upon which you can then call the usual stop() methods. You might see in my Shell that I did !event || event.stop(), which accomplishes the same since it can short-circuit the expression before erroring out on stop(). -- Sandy
