Model text changes as an observable stream of change objects.
Generic UndoManager.