CHANGE: MarkDirty moved/added after every editing of the Document
ADD: beginEdit() Method which is called before every editing of the Document. Will allow us to set a lock on the document or to initialize a history.
Merge remote-tracking branch 'origin/chris' into alex