             self.action = action
         }
             func handleGesture(gestureRecognizer: UISwipeGestureRecognizer) {
-            action(location: gestureRecognizer.location, state: gestureRecognizer.state, direction: gestureRecognizer.direction)
+                var locations = [Point]()
+                for i in 0..<gestureRecognizer.numberOfTouches() {
+                    locations.append(Point(gestureRecognizer.locationOfTouch(i, inView: gestureRecognizer.referenceView)))
+                }
+                action(locations: locations, center: gestureRecognizer.location, state: gestureRecognizer.state, direction: gestureRecognizer.direction)
         }
     }
 }

}


public typealias TapAction = (location: Point, state: UIGestureRecognizerState) -> ()

extension UITapGestureRecognizer {
    /// The closure to call when there is a gesture event.

            self.action = action
        }
            func handleGesture(gestureRecognizer: UIPanGestureRecognizer) {
                var locations = [Point]()
                for i in 0..<gestureRecognizer.numberOfTouches() {
                    locations.append(Point(gestureRecognizer.locationOfTouch(i, inView: gestureRecognizer.referenceView)))
                }
                action(locations: locations, center: gestureRecognizer.location, state: gestureRecognizer.state)
        }
    }
}


public typealias PanAction = (locations: [Point], center: Point, translation: Vector, velocity: Vector, state: UIGestureRecognizerState) -> ()

extension UIPanGestureRecognizer {
    /// The closure to call when there is a gesture event.
