Downloader is now a single object instead of multiple for each file.
auto downloads if none in downloader.
ps. I see the duplication but this seems to be the best way to implement this without rewriting the already running filemetadata.download_file()