fixes #1. The issue was due to the fact that we were getting the number of taps from UITouch. UITouch counts the number of taps within a “period” of time. This “period” is not well defined and also this period does not appear to be reset when the gesture state fails. This means that even if the gesture fails, there is a possibility that when we count the taps the next time, the UITouch object could contain taps from the previous failed gesture. The solution is not to rely on UITouch and count taps and rest the count of taps with our own implementation.