Add Template Method pattern