Seems like a Condition needs a second method Validate to ensure that the values passed to it are legal for the type.