     Requests access to Contacts, if necessary.
     */
     public func requestContacts() {
-        switch statusContacts() {
+        let status = statusContacts()
+        switch status {
         case .Unknown:
             ABAddressBookRequestAccessWithCompletion(nil) { success, error in
                 self.detectAndCallback()

    		.objectForInfoDictionaryKey(Constants.InfoPlistKeys.locationAlways).isNil
    	assert(hasAlwaysKey, Constants.InfoPlistKeys.locationAlways + " not found in Info.plist.")
    	
        switch statusLocationAlways() {
        case .Unknown:
            if CLLocationManager.authorizationStatus() == .AuthorizedWhenInUse {
                defaults.setBool(true, forKey: Constants.NSUserDefaultsKeys.requestedInUseToAlwaysUpgrade)

    Requests access to Bluetooth, if necessary.
    */
    public func requestBluetooth() {
        let status = statusBluetooth()
        switch status {
        case .Disabled:
            showDisabledAlert(.Bluetooth)
        case .Unauthorized:
