AbstractGestureListener refactored