Callbacks should always return error objects (they include among other things, callstacks / etc). A pure string gives much less value and is not the pattern for errors. I know this is not an integral part of the PR, but it seemed like a good opportunity to improve this.