реализация CacheDownloader (неполная, битый коммит)