Could it be both for clients and for relays?
Well, I suppose those would be two different functions receiving the data, but couldn't we create an event validator system that could be customized? Like symfony has? I think one of the other NDKs did something like that, but on a simpler/smaller scope.