Handling of successful and fail downloads

On successful downloads clears up the background information
On failure, no new downloads for that session will be initiated till
the user calls resume again for the same

TODO:
1. Update UI with progress
2. Update UI on complete
3. Update UI on failure