Template Pattern from Head First Design Patterns