Trygve Reenskaug (MVC inventer ) and Jim Coplien (Patterns/Hillside) developed the DCI paradigm as a way model code around the roles played by objects, rather than the concrete type (class) of each object.
Alan, of you are aware of DCI, what is your response to it?
It (or more specifically, Jim Coplien) claims to build on your vision of OOP, but also criticises "emergence" within the OO vision. (Personally, I think those problems are design issues apart from the OO model)
In FOAM (the Feature-Oriented Active Modeler) we replace classes with Models, which are just collections of Axioms. There are pre-built Axiom types for standard things like methods and properties, but also for things like imports, exports, traits, listeners, topics, templates, actions, inner-models/classes, etc. Axioms are themselves modeled, so you can create new types as required. In the end, you still end up with a class, but it's defined/built with an extensible composition of objects rather than by a more limited and static class definition.