Working on a unified error handling system