Renderer (createElement, lisetenEvent, etc…) BrowserDomAdapter document parse5 Web Browser Node.js NodeDomRenderer DomAdapter (abstract DOM API, not managed by DI) extend implement use use implement implement use use Platform Layer Abstract UI Layer Runtime Layer