     fileprivate func areRequiredFieldsPopulated() -> Bool {
         switch displayMode {
         case .longAlphaNumeric:
-            guard
-                let backupToken = backupOathTokenField.text,
-                backupToken.characters.count > 0
-            else {
+            guard backupOathTokenField.text.wmf_safeCharacterCount > 0 else {
                 return false
             }
             return true
         case .shortNumeric:
-            return oathTokenFields.first(where:{ $0.text?.characters.count == 0 }) == nil
+            return oathTokenFields.first(where:{ $0.text.wmf_safeCharacterCount == 0 }) == nil
         }
     }
     

        enableProgressiveButton(areRequiredFieldsPopulated())
        guard
            displayMode == .shortNumeric,
            let text = sender.text,
            text.characters.count > 0
        else {
            return
        }

    func wmf_deleteBackward(_ sender: UITextField) {
        guard
            displayMode == .shortNumeric,
            sender.text.wmf_safeCharacterCount == 0
        else {
            return
        }
