making it clearer what events are firing, in what order and what the state of the request is at each step