All objects embody an abstraction. Objects are encapsulated. Requests can identify objects. Operations can be generic. Objects can be classified in terms of their services.
Objects can have common implementations.
A new class should be used for each new legacy library interface. Multiple returns should be used for error handling and debugging only. Thou shalt express one's conception in the simple terms. Thy client's ideas shall become sets and functions that the client accepts. The sets shall be expressed as groups of simple data items.