Build up error handling to a substantial and extensible level