Switched to traversing rather than calling an event

Rather than calling an event on elements and then listening for that
event, now we traverse of the DOM looking for parent elements that might
be interested in the mutation.