Added the Template Method Pattern.