Although using the conventional LWP::UserAgent is fast and easy it does have
some drawbacks - the code execution blocks until the request has been
completed and it is only possible to process one request at a time.
HTTP::Async attempts to address these limitations.

It gives you a 'Async' object that you can add requests to, and then get the
requests off as they finish. The actual sending and receiving of the
requests is abstracted. As soon as you add a request it is transmitted, if
there are too many requests in progress at the moment they are queued. There
is no concept of starting or stopping - it runs continuously.
