For cases when we're trying to compare objects from external libraries and have no way to add Attributes to describe validation we must be able to have a simple mechanism for describing matching and validation rules. that could eventually be stored as json, or other formats.