>>1
そもそも似て非なるものを1つにまとめたらスパゲッティーになるのは当然。

>もちろん共通化すべき部分はあるので、下請け処理の共通部品は必要だが、
>大元の処理そのものを共通化したのは失敗だった。
答えはでてるじゃん。
同じ機能を共通化するのはいいけど、同じ流れで違う機能のものは共通化しちゃだめ。
スーパークラスかインターフェースを統一するのはいいけど、1本のプログラムで色んなことやっちゃだめ。