Abstract DownloadBuilder core functionalities and move them external

- Moved into http://git.io/r3JMkQ;