     /// Override this method in subclasses to assign a value of an undefined type to a property
     /// - parameter value: the value to be assigned
     /// - parameter key: the name of the property to assign
-    public func assignUndefinedValue(undefinedValue: AnyObject, forKey key: String) throws {}
+    public func assignUndefinedValue(undefinedValue: AnyObject, forProperty property: String) throws {}
     
     public func shouldFailWithInvalidValue(value: AnyObject?, forProperty property: String) -> Bool { return false }
     

//          MARK: - Undefined Type
            else {
                if let value: AnyObject = dictionary[property] {
                    try assignUndefinedValue(value, forKey: property)
                }
            }
        }

        return formatter
    }()
    
    public class func dateFromString(string: String) -> NSDate? {
        if let date = dateFormatter.dateFromString(string) {
            return date
        }
