Coalesce HTTP requests

Just my personal opinion: this refactoring (extracting `_onResponse` and `_onError`) is great. It would be even nicer if it was done in a separate commit. It would make the reviewing much simpler.