First ugly stab at channel and connection abstraction