Refactor downloader into FileLocator and optimize for speed.