Template Method.