Thank you :-) I don't think I'm raising the technical bar that much thought. {quote:jpmsi} So let me ask you: you have a very neat combination of technologies, you make a pretty strong case for the benefits of these dynamically loadable/unloadable objects. How does one use them in a normal production environment? In which situations would you advocate the use of these? {quote} Well, I have no information about this kind of things on production environment, so I may be dead wrong here, but in my opinion this is a good option for small contained environments... I'm saying this because even though this is a ~~neat~~ combination I'm not sure it can scale very well, this is mostly due to the interface multiplication (I really see that as a design problem and I avoid it at all cost). Also if you have an application that uses most of the available memory - usually more memory usage means bigger applications - this will also be a problem because the objects will keep being collected and reloaded over and over again turning the all system into a giant slug.. On the other hand in a small systems that with ~~acceptable~~ (I know that acceptable is very relative) memory usage, this option might be a good one. Take for example SnipSnap, even though the original developers haven't implemented the part with soft reference, they used proxies with access control which in my opinion was a good design. The best, though, would be to have a {link:DSL|url=http://en.wikipedia.org/wiki/Domain-specific_programming_language} that would generate this objects over a domain description... But you know me, I tend to be a DDD fan. ;-)