1. A computer-implemented method comprising: (a) presenting user interface features for receiving inputs representative of a composition of a plurality of user interface (UI) control elements that reflect a designer's intent, at least one of the UI control elements having a plurality of states and a class name; (b) presenting user interface features for receiving selections defining a timeline, of key times for state-to-state transitions of the UI control elements between the plurality of states; the timeline of key times defining an order and timing for the state-to-state transitions; (c) extracting a user interface asset file comprising the UI control elements, a layout the of presentation-related UI controls and a timeline file of behavior-related UI controls, the layout the comprises data encoding attributes of a scene graph, the scene graph comprising a tree structure of scene nodes, each scene node corresponding to a respective UI control element of the UI control elements to define a position of the respective UI control element in the user interface space, the timeline the comprises the timeline for the state-to-state transitions of the UI control elements of the scene graph in the layout the, the UI control elements of the layout the linked to corresponding UI control elements of the timeline the by the class name; and (d) compiling the user interface asset file to render an executable user interface operable to display said state-to-state transitions.