1. A computer program embodied on an electronic medium, wherein the computer program is configured to: create a scene graph by: adding a first object to a hierarchy; adding a second object to the hierarchy; and defining a parent-child relationship between the first and second objects; create a plurality of data structures and threads, wherein the threads are configured to generate messages to specify state changes, wherein each data structure corresponds to a particular type of object in the hierarchy, wherein each object in the hierarchy has an entry in at least one of the data structures, wherein each thread is configured to execute one of the data structures; and render the scene graph by executing the threads in lieu of traversing the scene graph.