Add keepalive option for transport mechanism
Create methods for opening and closing a transport protocol. Make sure that a protocol is always open when trying to send, and throw an error if there is no protocol when trying to close