This approach is not optimal, by the time the callback executes as soon as the execution is free. Which means that if the request changes state in between that, your callback WILL be corrupted, as something/ more than one thing could have changed in the request object before the callback is executed
I will fix myself, now that you point out the problem