Object used to communicate with the application when downloading.
Download carries information about a download request and response, including a
URIRequest and a
URIResponse objects. The application may use this object to control the
download process, or to simply figure out what is to be downloaded, and handle the download process itself.