You are right. The point is that ClassPools contain the algorithm for finding Classes and other resources in the classpath. This means we need to take care of imports and exports and other complex stuff.
Thinking about it a bit, I'm not sure we actually need that complex strucutre in Classpools.
I don't see why simple domain mapping wouldn't work -- which would super speed up things.
I need to think about it a bit more, and have a more detailed look.
Or perhaps Kabir can do this, if we cannot get current Javassist based Reflect to behave faster as Introspection. :-)
The only thing that I see is duplicate here is RegisterModuleCallback/DomainRegistry. We need to keep track of modules and to map those to ClassLoaders. I'm duplicating this stuff for now, but we should definetly review this in the future.
No, you don't need that registry module callback. It should all be possible to do in deployers.
And at the same time you are able to get access to other things via DeploymentUnit.