             createNewButtons()
         }
         else if oldValue?.showsPlaceholder != state?.showsPlaceholder {
+            updateButtonStates()
+        }
+        else if oldValue?.completedBorderColor != state?.completedBorderColor {
             updateButtonStates()
         }
     }

        public var allowsBackspace: Bool
        public var showsPlaceholder: Bool
        public var allowsAllCharacters: Bool
        
        public init(pin: String?,
                    allowsBackspace: Bool = true,
                    showsPlaceholder: Bool = true,
                    allowsAllCharacters: Bool = true) {
            self.pin = pin
            self.allowsBackspace = allowsBackspace
            self.showsPlaceholder = showsPlaceholder
            self.allowsAllCharacters = allowsAllCharacters
        }
    }
    

    @objc @IBInspectable fileprivate var allowsBackspace: Bool = false
    @objc @IBInspectable fileprivate var showsPlaceholder: Bool = true
    @objc @IBInspectable fileprivate var allowsAllCharacters: Bool = false
    @objc @IBInspectable fileprivate var completedBorderColor: UIColor = .green
    
    override public init(frame: CGRect) {
        super.init(frame: frame)
