An abstract class that categories, elements, insertions, etc. fall under
AbstractCategories(..., data = NULL)AbstractCategory(..., data = NULL)
For the constructor functions AbstractCategory and
AbstractCategories, you can either pass in attributes via ... or you
can create the objects with a fully defined list representation of
the objects via the data argument. See the examples.