1. A method for implementing web applications, comprising: projecting, using a processor of a computing device, one element of a web page of a web application into a view of the web page, the view being a visual representation of a model of the web page, the model including application data and rules, wherein the web application is associated with a browser-level background page that lacks a user interface of its own and that acts as a container for all views of the web application, including the view of the web page, and wherein every window created by the web application shows a different view of the browser-level background page; using a controller to mediate input and convert user input to the web application into commands for the view or the model; and transposing, by the controller, the one element projected in the view of the web page and another element using an insertion point that represents a defined location in a shadow document object model subtree, without affecting a document object model tree of the web page.