so you can solve this one of two ways. 1) implement what they did and solve the hardware signal issue of bound (the right way). 2) implement an irq in your software reading it to poll every few ms and hope you don't read in the trough. Registering extra button clicks should not be the problem of the implementor. It's a hardware failure. However, in this case, he also is the firmware implementor so the firmware needs to be able to fire "onClick" once when the button is pressed once, regardless of bounce.