Of course, this is crucial to the modules code. I've been following the modules discussion here, but here's my fundamental concern: How do I end up not programming on quicksand? From what I understand so far, the modules solution is about keeping different chunks of code and data in a seperate space that you can 'swap' in. I can see how that works if the module is independent and does not change the 'base' image code. Where I get lost at is how all the modules interact when they fly back into the image, and start changing that base code, potentially over writing each others changes. If you don't have a stable base, and some protocol saying how you can attach changes onto that base, it turns to quicksand real quick.
You said it: they *potentially* overwrite each other's changes. This is a potential for excitement, not a problem to be feared. Live! It's the age of cowboy coding, and should be cherished. Start your programming sessions with a big "yeeehaaa!", not by putting some quiche in the microwave.
-Lex