     var configuredPermissions: [PermissionConfig] = []
     var permissionButtons: [UIButton] = []
     var permissionLabels: [UILabel] = []
-    var authChangeClosure: (([PermissionResult]) -> Void)? = nil
+    var authChangeClosure: ((Bool, [PermissionResult]) -> Void)? = nil
     var cancelClosure: (() -> Void)? = nil
 
     public override init() {


    // MARK: finally, displaying the panel

    public func show(authChange: (([PermissionResult]) -> Void)? = nil, cancelled: (() -> Void)? = nil) {
        authChangeClosure = authChange
        cancelClosure = cancelled

        var permissionMissing = false
        for result in getResultsForConfig() {
            if result.status != .Authorized {
                permissionMissing = true
            }
        }

        // no missing perms? do nothing
        if !permissionMissing {
            return
        }


            self.view.setNeedsLayout()
        })

        var success = true
        for result in getResultsForConfig() {
            if result.status != .Authorized {
                success = false
            }
        }

        // compile the results and pass them back if necessary
        let results = getResultsForConfig()
        if let authChangeClosure = authChangeClosure {
            authChangeClosure(success, results)
        }

        // and hide if we've sucessfully got all permissions
        if success {
            self.hide()
        }
    }
