A Cocoa framework for declarative property validation