         }
         set(newCameraOutputMode) {
             if newCameraOutputMode != _cameraOutputMode {
-                self._setupOutputMode(newCameraOutputMode)
+                _setupOutputMode(newCameraOutputMode)
             }
         }
     }

    }

    deinit {
        self.stopAndRemoveCaptureSession()
        self._stopFollowingDeviceOrientation()
    }
}

    :param: imageCompletition Completition block containing the captured UIImage
    */
    public func capturePictureWithCompletition(imageCompletition: (UIImage?, NSError?) -> Void) {
        if cameraIsSetup {
            if cameraOutputMode == .StillImage {
                dispatch_async(sessionQueue, {
                    self._getStillImageOutput().captureStillImageAsynchronouslyFromConnection(self._getStillImageOutput().connectionWithMediaType(AVMediaTypeVideo), completionHandler: { [weak self] (sample: CMSampleBuffer!, error: NSError!) -> Void in
                        if (error != nil) {
                            dispatch_async(dispatch_get_main_queue(), {
