Szia!
Jó az alap elgondolásod. Egy állapotgépet kell egy újabb bemenettel kiegészíteni. Mondjuk ahogy néztem, az eredeti kódot nagyon alaposan át kellene írni.