Each widget is a represented as a purely abstract data type. It can only
be accessed through and the special access functions that are defined
in each widget file.
Object is the base class for all widgets, and for a few non-widget
objects such as Adjustment. Object predates GObject; non-widgets that
derive from Object rather than GObject do so for backward compatibility
reasons.
Signals that all holders of a reference to the Object should release
the reference that they hold. May result in finalization of the object if
all references are released.