Thread error handling abstracted form thread implementations