The UserObjectContainer is an interface that defines the userObject property. This interface is implemented by any class that has the notion of a corresponding semantic object. In the Diva canvas, only Figure uses it.
A VisibleComponent is an object that may be painted on the screen. It has one property, visible, and two versions of the paint() method, one which will paint the whole component, and one which will paint it only within the specified bounding box. It is extended by Figure and by some of the canvas layers.
An EventAcceptor is an object that is prepared to handle layer events. It has an enabled field, which determines whether it accepts events, and a single processLayerEvent() method. It is implemented by CanvasPane and a number of canvas layers.