                     }
                 }()
 
-                self.backgroundColor = self.backgroundColor(for: status)
-                self.foregroundColor = self.foregroundColor(for: status)
+                self.updateColors()
 
                 // Show/hide the lock icon, spinner
                 switch status {

            return background.contrastingColor
        }

        private func foregroundColorDidChange() {
            titleLabel.textColor = foregroundColor
            lockIcon.tintColor = foregroundColor

        }

        let hairlineBorderColor: UIColor = CompatibleColor.quaternaryLabel

        private var status: Status = .enabled

        private static let minimumLabelHeight: CGFloat = 24
        private static let minimumButtonHeight: CGFloat = 44
