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

    }
    
    func updateButtonStates() {
        let showsHint = state?.showsHint == true
        
        for (i, button) in buttons.enumerated() {
            button.layer.borderColor = UIColor.lightGray.cgColor

                button.setTitleColor(.black, for: .normal)
            }
            else {
                button.setTitle(showsPlaceholder ? state?.pin?.uppercased()[i] : nil, for: .normal)
                button.setTitleColor(.lightGray, for: .normal)
                
                let isFocussed = textField.isFirstResponder && i == textField.text?.characters.count ?? 0
