Patent ID: 8924845

Claim:
A non-transitory computer-readable medium comprising a web browser object-oriented application for a dynamic web page comprising: a web browser application comprising a state controller object, the web browser application configured to run on a client side, the state controller object configured to run completely within the web browser application as an extension of the web browser application's event handling to handle objects in an encapsulated manner on the client side, the state controller object further configured to allow and disallow state changes of objects on the client side, the web browser application further comprising a plurality of other objects configured to operatively communicate with the state controller object, wherein each of the plurality of other objects of the web browser application includes an abstract interface as a wrapper whereby the state controller object is configured to control event and data exchange between two or more of the plurality of other objects of the web browser application on the client side, wherein the plurality of other objects of the web browser application are configured to be decoupled from each other based upon centralization of the web browser application logic and event exchange with the state controller object, wherein the web browser application is configured to: receive supply data via a network from a server application running on a server, the supply data to be used with a dynamic web page; communicate between the state controller object in the web browser application and the plurality of other objects via a delegate model, wherein the delegate model includes an event publisher and an event subscriber; render objects from the server application in the web browser application, wherein rendered objects include the plurality of other objects, the plurality of other objects including presentation logic GUI components; store, on the client side, state variable data in the web browser application to allow the web browser application to preserve a particular state of the web browser application; and recreate on the client side, without receiving additional supply data from the server-side script of the server application on the server side, a particular view of the web browser application based on a particular preserved state of the web browser application.