Design Patterns - Example code base from book Head first design Pattern