Refactor Downloader: it accepts channel, not generates it.