Most callers only need to _get_ error messages. Only callers implemented more complicated functions (like a custom ODB for example) need to set them. (Callback users should likely ferry their own error information in their callback payload.)