A button click event should only be fired when the button was not held.
In Button.cpp
if (cb_onClick) {
cb_onClick(*this);
} //fire the onClick event AFTER the onRelease
should be
if (!triggeredHoldEvent && cb_onClick) {
cb_onClick(*this);
} //fire the onClick event AFTER the onRelease