ApplicationDomain class question

Im looking for a way to divide all my application code (classes) into separate swf files. Im looking for a good design pattern to use, to manage the application. I came accross the ApplicationDomain class while looking into the Flash CS3 documentation. It looks quite helpful. But does anybody know any other class (or design pattern) that I can use to manage this?
My main issue with ApplicationDomain (correct me if I’m wrong), is say I have 4 classes, class A,B,C, and D. In my main.swf I have classes A, and B. And in module1.swf I have classes C, and D. However, in the definition of class C, I am importing class A. You see where this is becoming a problem? Is it very important for me to find a way where class C does NOT import class A?

The docs for this is here:
http://livedocs.adobe.com/flex/201/html/18_Client_System_Environment_175_4.html
Its a little confusing, but I think if you focus on the picture, it can help.

Now, it gets a little tricky. The runtime use of classes here is through the application domains. However, if you publish a SWF without the classes it will eventually use, i.e. relying on classes from other, loaded SWFs, then you cannot reference those classes by name in your code. Otherwise that SWF will have those classes included and compiled with it. What that means is that you care no longer typing to specific classes but rather using untyped variables to represent a definition that is unknown until runtime.

var runtimeClass:Class = Class(loader.contentLoaderInfo.applicationDomain.getDefinition(className))
var newInstance:* = new runtimeClass();

Which is often not ideal.

However, if you want to just house class definitions in another SWF, RSLs (Runtime Shared Libraries) would be the best way to go.