There is no reason for DownloadService to exist as a interface, just causes pointless extra work