add dispatchEvent (no-op in node)