Methods, systems, and computer program products that automatically
generate and track undo information so that the developer of a user
interface object need not be responsible for generating and tracking undo
information. Change notifications for changes to an object within a
visual user interface designer are processed. Data representing an
initial state of the object prior to the changes and data representing a
subsequent state of the object after the changes is persisted. From the
persisted data, an undo unit is prepared for undoing the changes to the
object. The undo unit may comprise a transaction of multiple changes made
to the object. Each undo unit may identify corresponding routines for
undoing and redoing the actions included within the undo unit. An undo
unit may be stored until an undo/redo notification is received, and then
used to undo/redo the changes represented by the undo unit.