Update modules

ロジックを各オブジェクトに任せるようにした
Update some objects
refactor code

 - 余分なコード消した
 - コンストラクタの引数を減らした
rearranged objects