Add completion handler to socket.read