     }
     
     // MARK: - UIGestureRecognizerDelegate
+    fileprivate lazy var focusGesture = UITapGestureRecognizer(target: self, action: #selector(CameraManager._focusStart(_:)))
     
     fileprivate func attachFocus(_ view: UIView) {
-        let focus = UITapGestureRecognizer(target: self, action: #selector(CameraManager._focusStart(_:)))
-        view.addGestureRecognizer(focus)
-        focus.delegate = self
+        view.addGestureRecognizer(focusGesture)
+        focusGesture.delegate = self
     }
     
     @objc fileprivate func _focusStart(_ recognizer: UITapGestureRecognizer) {

    
    open var shouldKeepViewAtOrientationChanges = false
    
    /// The Bool property to determine if the camera is ready to use.
    open var cameraIsReady: Bool {
        get {

    }
    
    // MARK: - UIGestureRecognizerDelegate
    fileprivate lazy var zoomGesture = UIPinchGestureRecognizer(target: self, action: #selector(CameraManager._zoomStart(_:)))
    
    fileprivate func attachZoom(_ view: UIView) {
        view.addGestureRecognizer(zoomGesture)
        zoomGesture.delegate = self
    }
    
    open func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool {
