         static var validationPattern = "validationPattern"
     }
     
+    /// See ModelAwareControl protocol
     @IBInspectable public var modelKeyPath: String? {
         get {
             return associatedObject(self, &AssociatedKey.modelKeyPath)

        static var normalBackgroundColor = "normalBackgroundColor"
    }
    
    @IBInspectable public var modelKeyPath: String? {
        get {
            return associatedObject(self, &AssociatedKey.modelKeyPath)

    }
    
    //MARK: UITextFieldDelegate
    
    /**
    Tells the delegate that editing stopped for the specified text field.
    
    :param: textField The text field for which editing ended.
    */
    public func textFieldDidEndEditing(textField: UITextField) {
        textField.validate()
    }
    
    //MARK: UITextViewDelegate
    
    /**
    Tells the delegate that the text or attributes in the specified text view were changed by the user.
    
    :param: textView The text view containing the changes.
    */
    public func textViewDidChange(textView: UITextView) {
        self.valueChanged(textView)
    }
    
    /**
    Tells the delegate that editing of the specified text view has ended.
    
    :param: textView The text view in which editing ended.
    */
    public func textViewDidEndEditing(textView: UITextView) {
        textView.validate()
    }
