It's sort of impossible to swap a basic configuration such as transaction with a substitute such as transaction-jta11: there are too many modules that depend on it that all have to be rebuilt just because you changed one name.
To fix this we need some way to substitute one module (configuration) for another. We might aim for a function-based registry rather than a name based one, but that is more that I want to think about right now.
I've done some simple experiments and it looks like some trivial changes in DefaultArtifactResolver, the car maven plugin, and an additional properties file in the server at least let you swap modules and get the server started. I expected that changes in the kernel gbean lookups and Configuration gbean lookups would be necessary as well, but I haven't needed them yet.
I think the changes so far should be applied since they clarify the explicit version resolution code and enable at least some module swapping. I suspect we'll find out soon if more work is needed.