 
 private extension Permission {
     var statusCamera: PermissionStatus {
-        switch AVCaptureDevice.authorizationStatusForMediaType(AVMediaTypeVideo) {
-        case .Authorized: return .Authorized
+        let status = AVCaptureDevice.authorizationStatusForMediaType(AVMediaTypeVideo)
+        
+        switch status {
+        case .Authorized:          return .Authorized
         case .Restricted, .Denied: return .Denied
-        case .NotDetermined: return .NotDetermined
+        case .NotDetermined:       return .NotDetermined
         }
     }
     


private extension Permission {
    var statusReminders: PermissionStatus {
        switch EKEventStore.authorizationStatusForEntityType(.Reminder) {
        case .Authorized: return .Authorized
        case .Restricted, .Denied: return .Denied
        case .NotDetermined: return .NotDetermined
        }
    }
    


private extension Permission {
    var statusMicrophone: PermissionStatus {
        let status = AVAudioSession.sharedInstance().recordPermission()
        
        switch status {
        case AVAudioSessionRecordPermission.Denied:  return .Denied
        case AVAudioSessionRecordPermission.Granted: return .Authorized
        default:                                     return .NotDetermined
        }
    }
    
