初期状態。

gradle 使うとこうなるのか？
素朴な実装 (再帰あり)
とりあえず実装 (再帰なし)

きっつい・・・
Parts が汚れる
リファクタリング  クラス名変更
リファクタリング  インターフェース導入、test 実装共有
test 追加