General FMJ classes, including abstract base classes.