将来的な機能変更に柔軟に対応できるように構造を変更