How We Centralized and Structured Error Handling in Golang