Added caching system. Smart restart on failed download.