Make Download use a singleton instead of a global for the cache