Export Link from session.js.  Turn it into an eventer.  Expose message-received events.  Add placeholders for flow control.