Return errors to callback, do not throw errors

Fixes #4