listen! now updates the buffer when messages are available
handle javascript evaluation request/response