[Class] UndoUnit [Description] 
Represents a single unit of undoable work. Such a unit is added to an undo stack, and methods are provided to traverse the stack and perform an undo action on each unit.