If this is but one viewpoint, then it is a viewpoint that I like hearing from. :-)
I still have much thinking to do with regards to this notion. But I do
think one of OO's non-explicitly recognized advantages is that of managing
coupling. The object is an interface to a set of coupled code, relieving
both the object writer and the object user from having to manage that
aspect of code complexity themselves.
And, one of OO's disadvantages is not recognizing this explicitly, because
we then we could have much more meaningful discussions about such
controversies as: Are getter/setter methods evil when used from outside the
object? from inside the object? Should objects be divorced from their UI
via a controller? encapsulate their UI? or provide proxy UI objects? How do
we reconcile full encapsulation with inheritance?