         - returns: The view
     */
     func on<T: UIGestureRecognizer>(gesture: T, _ state: UIGestureRecognizerState, _ callback: T -> Void) -> Self {
-        let gesture = gesture.proxy == nil ? gesture : gesture.clone()
-        
         let actor = Actor(gesture: gesture, states: [state], callback: callback)
         
         gesture.addTarget(actor.proxy, action: .recognized)

        - returns: The view
    */
    func on<T: UIGestureRecognizer>(gesture: T, _ states: [UIGestureRecognizerState], _ callback: T -> Void) -> Self {
        let gesture = gesture.proxy == nil ? gesture : gesture.clone()
        
        let actor = Actor(gesture: gesture, states: states, callback: callback)
        
        gesture.addTarget(actor.proxy, action: .recognized)

    }
    
    init(gesture: T, callbacks: [State: Callback]) {
        let gesture = gesture.proxy == nil ? gesture : gesture.clone()
        
        self.callbacks = callbacks
        self.proxy = Proxy(actor: self, gesture: gesture)
    }
