Comment wording.
Reorder logic to be less confusing even if events are still batched after the saving of descendants.
Refactor tests to ensure each one is isolated. Get DOMNodeRemoved firing in IE 9 / 10 on descendants when innerHTML is used on an ancestor to remove all descendants.