The undo engine
Intercept all buffer-changing ops of widget command (not events)
- rename widget command in Tcl
- define new command in its place
- delegate all ops except insert/delete
Mechanism allows dynamically stacked interceptors
- colorization inserted below undo