 		presentingViewController.view.transform = CGAffineTransform(scaleX: scale, y: scale)
 		presentingViewSnapshotView?.alpha = 0
 		backgroundView?.alpha = 0
+		roundedView?.alpha = 0
 	}
 	
 	/// Method to ensure the layout is as required at the end of the dismissal.

	
	// MARK:- Private variables
	
	private var backgroundView: UIView?
	private var presentingViewSnapshotView: UIView?
	private var cachedContainerWidth: CGFloat = 0

		}
		
		dismissCompletion?(completed)
	}
	
	// MARK:- Presented view KVO
	
	override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {
		if keyPath == "transform" || keyPath == "frame", let view = object as? UIView {
			let offset = view.frame.origin.y
			updateRoundedMask(forOffset: offset)
		}
	}
	
	private func updateRoundedMask(forOffset offset: CGFloat) {
		guard let roundedView = roundedView, let maskLayer = maskLayer else {
			return
		}
		
		roundedView.frame = CGRect(x: 0, y: offset, width: containerView!.bounds.width, height: 8)
		maskLayer.frame = roundedView.bounds
		
		let radii = CGSize(width: roundedView.bounds.height, height: roundedView.bounds.height)
		let boundsPath = UIBezierPath(rect: roundedView.bounds)
		boundsPath.append(UIBezierPath(roundedRect: roundedView.bounds,
		                               byRoundingCorners: [.topLeft, .topRight],
		                               cornerRadii: radii))
		
		maskLayer.path = boundsPath.cgPath
	}
	
	// MARK:- Gesture handling
