tdd 기반의 템플릿/콜백 패턴