モデルを統一して、生成部分はFactoryにする