@dangoor it seems like this is more analogous to the validation failures than it is to throwing an exception in synchronous code... so perhaps I should pass a success object containing an error(s) property instead?  Is the first arg of the callback basically used only in cases where the code has essentially 'crashed' or hit an internal error?