fix failures when multiple callbacks have errors

Other fixes/updates. See commit comments.