Any domain class that is used mostly to map between two other domain
classes should be a subclass of MapObject.
Subclasses of MapObject should override
MapObject.mapped_classes, returning a two-element array containing the
domain classes that the map object maps between.