* A torrent should have multiple workers (seed vs download workers?). * These workers work with connections, if one break they find another one. * The connection broker manages connections, choking/unchoking. * Connection are linked to a peer & their bitfield. * Connections need to be listened to at all times for choke/unchoke/have/timeout/interested * A worker takes over a connection to send/receive. * The connection broker opens news connections if none are available for the workers