>>80に書いてませんでした、クローン用のURLは概要の上に出てます。

>>127
Rootはここでの会話用の仮名ですのでご安心ください。
肥大化に関しては>>92みたいな処理が全部Rootに書かれるってことで
ネストの深さ次第では結構やばくなると思いました。

ABと方向キーが別enumなので、例えば両方使うクラスは
void OnKeyTapAB(AB arg)
void OnKeyTapArrow(Arrow arg)
の二つが必要でメンドイってことですね。
これがenum KeyEvent{A,B,UP,Down,Left,Right}みたいな一個なら
void OnKeyTap(KeyEvent arg)
で済むので。
根本は分けといてintにキャストする値をらズラして混ぜるとかも出来ますが。

RXはやっぱりUnty界隈では微妙な感じですかね
自分は普段はRxJavaとRxSwiftなんですが今回Rx.NET使ってそう思いました。
というか.NET本家なのに明らかに派生組に負けてるという(^▽^;)