 internal extension Permission {
     private func requestAuthorization() {
         switch type {
-        case .Contacts: requestContacts()
-        case .LocationAlways: requestLocationAlways()
+        case .Contacts:          requestContacts()
+        case .LocationAlways:    requestLocationAlways()
         case .LocationWhenInUse: requestLocationWhenInUse()
-        case .Notifications: requestNotifications()
-        case .Microphone: requestMicrophone()
-        case .Camera: requestCamera()
-        case .Photos: requestPhotos()
-        case .Reminders: requestReminders()
-        case .Events: requestEvents()
+        case .Notifications:     requestNotifications()
+        case .Microphone:        requestMicrophone()
+        case .Camera:            requestCamera()
+        case .Photos:            requestPhotos()
+        case .Reminders:         requestReminders()
+        case .Events:            requestEvents()
         }
     }
     

    var statusLocationAlways: PermissionStatus {
        guard CLLocationManager.locationServicesEnabled() else { return .Disabled }
        
        switch CLLocationManager.authorizationStatus() {
        case .AuthorizedAlways: return .Authorized
        case .AuthorizedWhenInUse:
            let requested = UserDefaults.boolForKey(.requestedLocationAlways)


private extension Permission {
    var statusPhotos: PermissionStatus {
        let status = PHPhotoLibrary.authorizationStatus()
        
        switch status {
        case .Authorized:          return .Authorized
        case .Denied, .Restricted: return .Denied
        case .NotDetermined:       return .NotDetermined
        }
    }
    
