Breaking up the TorrentClient class into several

provider components.