This PR allows the caller to decide if they would like to have the calling test fail, have the caller panic on error, or handle the errors themselves.