Pretty happy with the current architecture, I've deliberately tried to keep it as minimal as possible.
Next steps: refine the browser api so I can easily define new media type handlers / renderers. And add a few more UI toolkit niceties - especially around text handling (select / copy / paste etc.) .