A Template Project for the Design Patterns as laid out in 'Design Patterns: Elements of Reusable Object Oriented Design'