We'll also need a function to takeover an existing connection without reinitializing it. The same will be needed at the stream interface level.