Template Method Pattern Example Implementation
Added example with hooks