Implemented a DownloadManager that manages the individual Downloader
instances. And later it will handle the STDOUT reporting as well
instead of Downloader.