builderパターン
Merge branch 'Builder'