dom events with a node-style EventEmitter api