It seems to me that a lot of the problems that you express relating to the readiness state could be resolved using some reactive development. Having an event/observer model should be able to resolve this. Of course that's probably not a holistic example and there are other cases why domain driven design is a step up from model driven design. Perhaps just an illustration of how our programming paradigm needs to be part of the software design or architecture process.