Should be renamed to SocketWatcher