Block commands should work on full range - not only editable parts - decision what to do with non-editable elements will be made later.
Do not try to create an undo image with selection when locking undo manager, because contents might change.
Reset selection before faking it.
Introduce domInvalidated event.
Reinit broken widgets in checkWidgets method. Call checkWidgets on domInvalidated.
Mark widgetDef as optional.
Code style.
Performance improvements.
Rename domInvalidated event to contentDomInvalidated.
Modify contentDomInvalidated docs and move it to editor.js.
Add comments to checkWidgets method.
'checkWidgets' event fire on 'contentDomInvalidated' instead of direct method usage.
Minor code improvement.
More comments.
Clarified code with comment.