Add events for failures
Ideally when their are issues/timeouts with response, we have the ability to react to this.
For example, let's say the remote throws some sort of exception, we could react to this in a meaningful way to the user.
We should introduce some event triggers for these cases.
issue