             layer.borderColor = hairlineBorderColor.cgColor
         }
 
+        override func tintColorDidChange() {
+            super.tintColorDidChange()
+            updateColors()
+        }
+
         required init?(coder: NSCoder) {
             fatalError("init(coder:) has not been implemented")
         }
 
         func update(status: Status, callToAction: CallToActionType, animated: Bool) {
+            self.status = status
+
             // Update the label with a crossfade UIView.transition; UIView.animate doesn't provide an animation for text changes
             let text: String? = {
                 switch status {

            return background.contrastingColor
        }

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

        fatalError("init(coder:) has not been implemented")
    }

    override func layoutSubviews() {
        super.layoutSubviews()
    }
