Fleshed out Connection/ConnectionManager/ConnectionThread