I think there was a misunderstanding about the way we implemented:
# Flex modules have unique behavior compared to separate flash swfs:
- When you need optmization, they must run in the same context, so they can share classes.
- It's impossible to use "sub mvc's". When a singleton is created in flex, the next instances will return the first loaded instance, even if its in a separate module (when using optimized modules and runing in the same context/appDomain)
Ps.: If you disable module optimization you'll have to embed the flex framework classes in each module.
I totally agree with fleecie. The main idea was:
Create a AbstractFacade and Facade extends AbstractFacade and implements the singleton (default usage)
When you need to use it in flex modules, your applicationFacade wil extend AbstractFacade and not Facade. You'll have to implement the singleton pattern too (to have one instance per module).
That's all you have to do (if there were no dependencies on singletons).
As Cliff has sad, changing the framework default implementation is out of the question, so whe had to change the aproach.