Oh, yeah, definitely not suggesting just returning a string. Here's what works for me:

```javascript
var err = new Error('validation failed message');
err.type = type;
err.value = value;
err.name = 'CastError'; //not sure this one is necessary
callback(err)
```

I'm not sure I understand exactly what you mean by 

> make the error handling part of seraph generic so that we can re-use for the validations

could you explain that bit a little further?