« Object-oriented design (OOD) requires that you shift from thinking of the world as a collection of predefined procedures to modeling the world as a series of messages that pass between objects. » but are the objects themselves not constructed through a collection of predefined procedures? in fact it is the extremes of functional programming (lisps) in which one can encounter truly emergent “objects” and behaviours,