     }
     
     /// The pinch gesture recognizer's current divergence type. Returns `nil` if `scale` is `1.0`, `.Inwards` if `scale` is less than `1.0`, or `.Outwards` if `scale` is greater than `1.0`.
-    var divergence: Divergence? {
+    public var divergence: Divergence? {
         if (scale == 1.0) {
             return nil
         } else if (scale < 1.0) {

     - 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
        }

     - 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 `linearScale(forOrientation: .Vertical, andDivergence: .Outwards)` should return `10.0`.
     */
    
    public func linearScale(inOrientation orientation: Orientation? = nil, andDivergence divergence: Divergence? = nil) -> CGFloat {
        guard let orientation = orientation ?? initialOrientation, divergence = divergence ?? initialDivergence else {
            return 0.0
        }
