     }
     
     /// The pinch gesture recognizer's current orientation in `view`, calculated by comparing the first two touch locations with one another. Returns `nil` if `view` is `nil`, or if the touches are on top of one another (which should never happen).
-    var orientation: Orientation? {
+    public var orientation: Orientation? {
         guard let vector = vector() else {
             return nil
         }

     - returns: Returns `0.0` if either `orientation` or `divergence` (or the `initialOrientation` and `initialDivergence` fallbacks, respectively) are `nil`. Else, takes the current two touch locations and calculates how far they have moved relative to one another, in the given orientation and divergence. For example, if the two points were vertically 20 points away from each other, and they then move to be 30 points away from each other, then `geometricScale(forOrientation: .Vertical, andDivergence: .Outwards)` should return `1.5`.
     */
    
    func geometricScale(inOrientation orientation: Orientation? = nil, withDivergence divergence: Divergence? = nil) -> CGFloat {
        guard let orientation = orientation ?? initialOrientation, divergence = divergence ?? initialDivergence else {
            return 0.0
        }

    }
    
    /// The pinch gesture recognizer's first two touch locations in `view`, calculated using `locationOfTouch()`. Returns `nil` if `view` is `nil`, or the number of touches is less than two.
    public var locations: (CGPoint, CGPoint)? {
        guard let view = view where numberOfTouches() >= 2 else {
            return nil
        }
