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.