Add WIP connection module for async stream abstraction

[ci skip]