Most of these will become obsolete after computers are no longer state machines
GObject enables easier Object oriented Programming in C.
GLib provides a core functionality library that the C programming language, were unable and unwilling to include into the standard library. Think of 'boost' of C++.
The Python Object system somewhat reassembles a crippled version of GObject system -- but everybody uses Python.
In my opinion, OOP is a way of thinking; it shall not be constrained by a specific computing language or tool. Most of the time it is only a matter where to put the object pointer before or after the function name. In the end the computer sees neither objects nor classes; it sees instructions and pointers.
When the design becomes constrained by the tool of choice, think twice if there is over-engineering.
I feel that in a design treating tenary and higher order relations is usually the trickest. I usually tend to follow the verbal hints -- write down a paragraph and see what is involved. For more complicated system (e.g. Payroll) this may not work as well.
Some of the knowledgable discussions on Cunningham & Cunningham, Inc are very entertaining.