Added Template Method pattern example with tests