Abstract the server, connection, and socket layers more clearly