Update error handling
I'm not smarter than go, I shouldn't be trying to outsmart haow error handling works. While I'm maintaining the errors chan for BC purposes, all functions that could enter error states are going to return those errors instead, which will make it more obvious and easier to debug issues related to those errors.