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.