Adding the Template Method pattern