expand the socket module; no longer using a Clojure atom for the socket