Node::dispatchEvent(PassRefPtr<Event>) is likely to be wrongly used. Node has other dispatchXXXEvent() functions, which must be called against each kinds of event type. But we can not catch any misusage for other events to be dispatched through Event::dispatchEvent(PassRefPtr<Event>).
I prefer more type-safe way to dispatch events.