Initial commit for Template Method Pattern