use weakref for downloader slots