Since past month, I've working on the MonoHotDraw documentation to learn about its internal API. Learning MonoHotDraw is not that difficult, I recommend you to read a little about Design Patterns for a better and faster MonoHotDraw's API understanding, however if you have already read GoF's Design Patterns you are ready to go!
While documenting I decided to implement an example including the most important features already implemented on MonoHotDraw to draw an interactive widget figure. Inspired on the GNOME Journal's analog clock I decided to implement the analog MonoHotDraw clock.
The preview is here:
This sample lead me to find the invalidation-region bug. Checkout the code from SVN and have fun.