         assert(configuredPermissions.filter { $0.type == config.type }.isEmpty, "Permission for \(config.type.stringValue()) already set")
         
         configuredPermissions.append(config)
+        
+        if config.type == .Bluetooth && askedBluetooth {
+            triggerBluetoothStatusUpdate()
+        }
     }
 
     func permissionStyledButton(type: PermissionType) -> UIButton {

    @objc public func show(authChange: ((finished: Bool, results: [PermissionResult]) -> Void)? = nil, cancelled: ((results: [PermissionResult]) -> Void)? = nil) {
        assert(configuredPermissions.count > 0, "Please add at least one permission")

        // this is so it works with Objective-C too.
        authChangeClosure = authChange
        cancelClosure = cancelled 

        // no missing required perms? callback and do nothing
        if requiredAuthorized {
            if let authChangeClosure = authChangeClosure {
                authChangeClosure(true, getResultsForConfig())
            }

            return
        }

        // add the backing views
        let window = UIApplication.sharedApplication().keyWindow!

    }
    
    private func triggerBluetoothStatusUpdate() {
        if !waitingForBluetooth && bluetoothManager.state == .Unknown {
            bluetoothManager.startAdvertising(nil)
            bluetoothManager.stopAdvertising()
            askedBluetooth = true
            waitingForBluetooth = true
        }
    }
    
    // MARK: finally, displaying the panel
