I think just changing _update_errors() to do what is done here could be cleaner.