I have just completed to develop the hours reporting system used in Zindell Technologies. The complete story can be found at www.zindego.com.
The Visitor Design Pattern
The visitor design pattern allows us to add operations to objects that already exist without modifying their classes and without extending them.