1. A computer-implemented method of providing applications style functionality to a user comprising: communicating to a server a request identifying an application; receiving data from the server, wherein the data includes first display instructions for a first state of the application, a state transition table identifying a set of states that are linked to the first state, and storage instructions defining a memory location for storing the first display instructions and the state transition table in a memory of the user device; storing the first display instructions and the state transition table at the memory location based on the storage instructions; rendering the first state for the user; receiving additional data from the server, wherein the additional data includes second display instructions for a second state of the application, wherein the second state is identified in the state transition table, and wherein the additional data is received without requiring input from the user.