Started thinking a little bit about what happens in the case where the client locally has some sort of error sending/reading a request/response or something. Adding a separate error condition callback method for communication errors since I believe they will need to be retried and tried to add TODOs around the code for places where I think we'll need to deal with such errors somehow.