In similar fashion to Open Inventor, each element in this package is typically partitioned into two classes, one which holds the storage for the element and one which implements the OpenGL side-effects. This organization allows certain actions to traverse the scene graph without requiring an OpenGL context to be current.