Thanks Tony for the detailed explanation. I have spent the afternoon experimenting with modules in Flex Builder and it looks like separate projects is the way to go. At first I was thinking I could get by with a single project for development and then make sure the nightly Ant script used -link-report and -load-externs appropriately but I was afraid that would confuse other developers and it won't convey the modular aspect of coding the interface.
Placing the ServiceLocator and FrontController in the main application is the direction I was going to head. For modules that are loaded once and remain loaded, I was thinking the commands could be placed in a simple array within the module if they are not shared between modules. This would single out the event and delgate objects that belong to those commands as well. When the module is loaded, I could notify the FrontController to "addCommand" on each command in the Array. As for the model, I really haven't seen a complex Cairngorm project yet so I don't know how this can be broken up. Every example I have seen has a single Model (extending ModelLocator). I would like to break out data objects that belong to the modules but it looks to me like everything is always referenced within the ModelLocator singleton. Any tips or examples of how you expanded upon the basic model? Our project may get very large by the end of all this so I am trying my best to think ahead. Our current SWF, which is just a lightweight demo of a few panels is already 800K and we haven't even added images, fonts, graphs, and all the other fun stuff. I'd like a quick initial download for the first view and subsequent "tabs" of the interface should download in the background.