header for Downloader
add disconnect primitives and reorganize manager