템플릿/콜백 패턴