Sample OO design patterns taken from GOF and O'reilly Head First Design Patterns