Because it is currently responsible for multiple things (setting up HTTP, firing off request, handling response). Splitting it up increases reusability, readability and testability.