A lot of refactoring
Mostly worked on retrying and logging systems.
 Removed all IOExceptions from the code except of HttpDownloader