1. A method of representing and rendering graphical objects, the method comprising: separating information for rendering a graphical object into a plurality of sets defining attributes of the graphical object, the graphical object configured to render within a local graphics context of a layer; creating the layer at a particular position of a viewport having a global graphics context defining a global coordinate frame; translating and scaling the local graphics context to match the global graphics context; rendering the graphical object at the particular position of the viewport within the layer using the global coordinate frame, wherein rendering the graphical object comprises separately rendering the attributes of the graphical object defined by the plurality of sets; caching the separately rendered attributes of the graphical object defined by the plurality of sets; and in response to receiving user input modifying a particular attribute defined by a particular set re-rendering the particular attribute defined by the particular set without re-rendering other attributes defined by other sets included in the plurality of sets.