Assembly is an object container, designed to be fully flexible. An assembly can 
contain any GAMGI objects, including other assembly objects, except lights, layers 
and windows. An assembly object is therefore a recursive object, with unlimited 
nested levels. For example, an assembly can be used to associate a graph with a 
molecule and a cell, to manipulate all of them at once. The low-level engine 
infra-structure required to implement assembly objects is fully implemented but 
everything else is still under construction.