Once a project gets big I switch to the Publisher/Subscriber pattern through a main Mediator rather than using the default Model/Collection change events.
That is to say that I cannot relate to your 4th/any hell level.
You mean like Bacon.js? I have not, yet. Looking at it now it seems that it is used for filtering/mapping/combining values?
The messages I send are more light weight and usually say "this has happened" to which a View would respond by re-rendering itself or its part rather then me directly passing whole Models and Collections around.