Moving the responsibility for canceling, fetching and removing downloads to the delegate.