better name, api queue
isConnected helper
rework connection management
try to send even though the socket might be closed. count on an error or timeout to kick the connection