         }
     }
 
-    let partialFormatter: PartialFormatter
+    private var _partialFormatter: PartialFormatter?
+    
+    var partialFormatter: PartialFormatter {
+        return self._partialFormatter!
+    }
 
     let nonNumericSet: NSCharacterSet = {
         var mutableSet = NSMutableCharacterSet.decimalDigit().inverted

     - returns: UITextfield
     */
    override public init(frame: CGRect) {
        self.partialFormatter = PartialFormatter(phoneNumberKit: phoneNumberKit, defaultRegion: defaultRegion, withPrefix: withPrefix)
        super.init(frame:frame)
        self.setup()
    }


        super.text = newValue
    }

    private lazy var _defaultRegion: String = PhoneNumberKit.defaultRegionCode()

    /// Override region to set a custom region. Automatically uses the default region code.
    open var defaultRegion: String {
        get {
            return self._defaultRegion
        }
    }

