I've been looking into using PureMVC for a new project. It's clean and I like the concepts of Commands, Mediators and Proxies. But, what led to the design consideration to add the entire system's states as string constants in the application facade? In a system with many modules that are loosely coupled, for every module its commands and states will have to be listed in the facade. This list will become huge as my application grows. Wouldn't the best approach be to write each module in its own independent package so I could easily move it to other applications? That is one of the benefits of MVC. Even from a development perspective when working on teams, multiple people can be editing the same ApplicationFacade.as file to add a completely unrelated module to the system. I think it would be better to keep those sorts of things with the controller of those modules. Am I missing the point on something here?