1. A system comprising: one or more processors communicatively coupled to one or more memories and configured to provide: a web-based application constructor to: create a specification for constructing a web display to contain page components that display data from heterogeneous data sources, the specification associating the page components with uniform resource locators assigned to the page components; store the specification in at least one memory of the one or more memories; retrieve the data from heterogeneous data sources to produce the web display; control display and/or update of the page components using the uniform resource locators, the web display to display at least some of the data from the heterogeneous data sources; facilitate an edit state for a page that provides one or more user-selectable options to change a page layout of the page components for the page and to associate a particular uniform resource locator for at least one of the page components with an insert target arranged according to the page layout; and associate one or more user-specific changes to the page components made via the one or more user-selectable options, the user-specific changes comprising a layout change to the page layout; a versioning system that keeps track of the one or more user-specific changes to the page components; and a change control system to allow users to dynamically undo at least some of the one or more user-specific changes to the page components while using the web-based application constructor.