BGA
2
Using timers is, generally speaking brittle. Other than that, it is difficult to figure out the right balance between ignoring and processing signals.
Did you see my approach to this?
I also implemented this as a library to simplify using face value signals: