 
         let baseOffset = 95
         var index = 0
-        for config in configuredPermissions {
-            let button = permissionStyledButton(config.type)
+        for button in permissionButtons {
             button.center = contentView.center
             button.frame.offset(dx: -contentView.frame.origin.x, dy: -contentView.frame.origin.y)
             button.frame.offset(dx: 0, dy: -30 + CGFloat(index * baseOffset))
-            contentView.addSubview(button)
-
-            let label = permissionStyledLabel(config.message)
+
+            let type = configuredPermissions[index].type
+            switch type {
+            case .LocationAlways:
+                switch statusLocationAlways() {
+                case .Authorized:
+                    setButtonAuthorizedStyle(button)
+                    button.setTitle("Got Location".uppercaseString, forState: UIControlState.Normal)
+                default:
+                    break
+                }
+            case .LocationInUse:
+                switch statusLocationInUse() {
+                case .Authorized:
+                    setButtonAuthorizedStyle(button)
+                    button.setTitle("Got Location".uppercaseString, forState: UIControlState.Normal)
+                default:
+                    break
+                }
+            default:
+                break
+            }
+
+            let label = permissionLabels[index]
             label.center = contentView.center
             label.frame.offset(dx: -contentView.frame.origin.x, dy: -contentView.frame.origin.y)
             label.frame.offset(dx: 0, dy: 15 + CGFloat(index * baseOffset))
-            contentView.addSubview(label)
 
             index++
         }

        authChangeClosure = authChange
        cancelClosure = cancelled

        view.alpha = 0
        let rv = UIApplication.sharedApplication().keyWindow!
        rv.addSubview(view)
        view.frame = rv.bounds
        baseView.frame = rv.bounds

        // Animate in the alert view
        self.baseView.frame.origin.y = -400
        UIView.animateWithDuration(0.2, animations: {
            self.baseView.center.y = rv.center.y + 15


    // internal state and resolution
    var configuredPermissions: [PermissionConfig] = []
    var permissionButtons: [UIButton] = []
    var permissionLabels: [UILabel] = []
    var authChangeClosure: (([PermissionResult]) -> Void)? = nil
    var cancelClosure: (() -> Void)? = nil

