I would suggest migrating your Standard version app to MultiCore. This alleviates the singleton issues with with modules, and actually makes testing easier.
Check out PipeWorks and Modularity. These demos focus on inter-module communications and not loading/unloading as there is plenty of documentation on that in Flex.
Also, don't be fooled by the structure of those projects, which are packaged for ease of downloading and running.
In reality you usually have several projects.
* One project for your main app,
* At least one for your modules (if not several that group modules, or even one per module).
* One or more library projects where you put classes that you share between the other projects so that they don't depend on each other or duplicate classes.
Compile your modules and libraries to make all their dependencies external, so that PureMVC, Pipes, Flex and any other dependencies are expected to be present in the main app, and aren't being compiled into your module.
Compile your main application to include these libraries. This may make the main app a little larger but the modules will be small and efficient.
Make sure the loaded modules have access to the classes (research ApplicationDomain). Either load the modules into the main app's ApplicationDomain, or make the classes available to the domain the module is loaded into.
Module loading and unloading is easy. You just need to manage them and plumb them for communications, so they can collaborate. There are many topologies, so you are the plumber. If you have a non-trivial module setup, you might look at the Fabrication framework which builds on MultiCore for this purpose:
http://www.dzone.com/links/rss/fabrication_simplified_puremvc_multicore_modules.html-=Cliff>