Re-use txn socket handlers

This allows the socket to be replaced later
Add model.connectTo()