 			// We wan't to prevent the user from moving the mask layer out the
 			// top of the targetView, since doing so would show the new style at
 			// the bottom of the targetView instead.
+			//
 			// By resetting the translation we make sure there's no visual
 			// delay between when the user tries to pan upwards and when they
 			// start panning downwards again.


		state = .transitioning
		
		// When cancelling the transition we simply move the mask layer to it's original
		// location (which means that the entire previous style snapshot is shown), then
		// reset the style to the previous style and remove the snapshot.
		animate(snapshotMaskLayer, to: .zero, withVelocity: velocity) {

		case transitioning
	}

	/// The view (or window) that the transition should occur in, and
	/// which the pan gesture recognizer is installed in.
	fileprivate let targetView: UIView
	
	fileprivate let configuration: Gagat.Configuration
