Distinguish 'read timed out', and add a state for APIConnectionExcepiton