This snippet is designed to compare the behavior of mutation observers, using the mutation summary library, to the variety of key events needed to handle contenteditable changes without mutation events.
Ideas to test out:
Which approach reports each key individually (should appear as a clean waterfall)?
The browser paste button is well-handled by one approach and not at all by the other. Also, try copying some text, refreshing to start over, and then pasting using the context menu.
Try with keyboard shortcuts, the context menu, and the browser buttons.