Another important thing occurs to me, as we’re discussing many different aspects in other threads in this forum area: If a framework is a constellation of protocols, there is an overall concept behind the choice of those specific protocols and the specific way in which they were combined to form a whole.
The way to succeed with any given framework, is to accept the concept and practices of that framework - you agree to live within the constraints of a “frame”, as outlined and defined by the protocols and their implementations, and in return, the framework leverages those defined practices and lets you skip ahead and get to the “meat” of whatever it is you’re building.
A word of caution: in the wild, there are hundreds (probably thousands) of patterns, protocols, practices, concepts and ideas. Some of those are new and exciting, to the point that some have been declared a "must have" for any serious framework. With all the buzz, just keep in mind that the reason why a framework works, is because of the chosen protocols and the specific way in which they were combined - adding support for a new kind of protocol does not automatically make the framework better, only if that new protocol contributes something significant to the overall concept, complementing the "whole" in some way, making it more complete.
For example, I like the idea of unifying two concepts that have been identified as being very similar, because this decreases the number of concepts you have to choose from to complete a task. We should scrutinize the idea of introducing any new concept - is this new concept a critical, missing piece, required to achieve a significant goal? And if so, does it overlap with some other concept already present in the system? And if so, would life with the framework be significantly improved by replacing one concept with another?
Simply adding more concepts is often very tempting, with some immediate feeling of having made a great accomplishment. Often, that is merely the satisfaction of having learned something new.
I believe it is far more important to refine and improve on decisions already made, than to explore new directions. There’s a million ways to achieve the same thing - a framework should select maybe 10 of those and put them together in a way that works and makes sense.
I think Yii does that, and hope to see Yii 2.0 continue in that vein - refining the existing set of concepts, which have been proven to work, so we can enjoy a productive workflow, writing code that is a joy to write, maintain and share!