Core
This module exists only to store the two classes that are used everywhere in
the program to define standard behaviors such as:
- Visitor pattern (for traversing object tree)
- Serialization (to files and to databases)
- Identification of objects (required by serializer)