When a user changes the value of a property via the property sheet interface, the object that implements the property is automatically updated. If the object has a visual representation, the display of the iTool window is also updated automatically.
The update mechanism is handled by the SetProperty method; as long as any SetProperty methods you create call the SetProperty methods of their superclasses, there is nothing more you need to do.
Property changes are automatically recorded by the iTool undo/redo system. You do not need to supply any extra code to support undo/redo.