fix(dom events) properly handle bubbling in event delegation