         
         public let action: Action
         
-        public init(action: @escaping Action) {
+        public let name: String
+        
+        public init(action: @escaping Action, name: String) {
             
             self.action = action
+            self.name = name
         }
     }
 }

    func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldReceive press: UIPress) -> Bool
}

public enum UIGestureRecognizerState : Int {
    
    public init() { self = .possible }
    

/// a change in the gesture, it sends an action message to each designated target object.
open class UIGestureRecognizer {
    
    // MARK: - Internal Properties
    
    private var targetActions = [TargetAction]()
    
    internal var touches = [UITouch]()
    
    // MARK: - Initializing a Gesture Recognizer
    
    public init() { }
    
    // Valid action method signatures:
    //     -(void)handleGesture;
