ちなみに拡張は非常にやりやすかったですよ。
新しい関数を2つ作って、初期化でメニューを作るようにして
いくつか変数を追加して、
既存の関数を書き換えたのは数箇所。diffの結果は70行くらいです