refactor(gestures): Use one central gesture to delegate the gesture events to the directives