I always wonder what it would be like if the browser was just a thin virtual machine, something like Java had hoped to become, and then you could specify the components you wanted to run on top of that. If, for example, you are serving an HTML document, you could point the browser to also download the WebKit renderer, or whatever. If you're building something more akin to an application, you might use some other framework to host your application.