need to return socket to be able to bind event handlers on it.