Head First Design Pattern example.