====
TODO
====

- Replace flat class names with hierarchical names (what about anonymous
  classes?)
- Use separate database for the object collection to store its indices.
- The object collection's `add` method should not work recursively.
- The `all` method returns a list of tuples due to an internal requirement.
  This should be hidden.
