tap hold event, internal refactoring for better event handling and perfs.