A document is an object that contains a number of properties. A property can
for an example be a value like a number or a string, or it can be a list of
other documents. Every property is referenced using a key. When traversing
the document tree, the user specifies …
Most of the commands in Pynsource are wrapped in command objects, which have
an **execute** , undo and redo method.
This is a classic use of the Command design pattern.