プロジェクトのデータ構造の整理と、それに合わせたインターフェイスの調整。

- まだだいぶ中途半端だけど一旦コミット。