Yes, I was having a conversation with someone else this week about fValidation::addCallbackRule(). I think how it works needs to be changed to be useful. It should not be tied to a single field and should have access to the whole validation messages array. Additionally it should always be run, not only if a value exists.