not sure if passing an exception is a good idea for callbacks... since the stack traces can potentially be useless - and I never seen something like this...