 
     public var validationRules: ValidationRuleSet<InputType>? {
         get {
-            return nil
             return objc_getAssociatedObject(self, &ValidatableInterfaceElementRulesKey) as? ValidationRuleSet<InputType>
         }
         set(newValue) {
-            return
             if let n = newValue {
                 objc_setAssociatedObject(self, &ValidatableInterfaceElementRulesKey, n as AnyObject, objc_AssociationPolicy.OBJC_ASSOCIATION_RETAIN_NONATOMIC)
             }

    
    public var validationHandler: ValidationHandler? {
        get {
            return nil
            if let boxed = objc_getAssociatedObject(self, &ValidatableInterfaceElementHandlerKey) as! ValidationHandler? {
                return boxed
            }
            return nil
        }
        set(newValue) {
            return
            if let n = newValue {
                objc_setAssociatedObject(self, &ValidatableInterfaceElementHandlerKey, n as AnyObject, objc_AssociationPolicy.OBJC_ASSOCIATION_RETAIN_NONATOMIC)
            }

    public func validate(rules rs: ValidationRuleSet<InputType>) -> ValidationResult {
        let result = Validator.validate(input: inputValue, rules: rs)
        if let h = validationHandler {
            h(result)
        }
        return result
    }
    
    @discardableResult public func validate() -> ValidationResult {
        guard let attachedRules = validationRules else { fatalError("Validator Error: attempted to validate without attaching rules") }
        return validate(rules: attachedRules)
    }
