Today, DefaultContainerFactory and DefaultDeployerFactory has all the relevant implemenation names hard-coded. This isn't ideal because it prevents people from implementing Cargo API outside the cargo project, and also just not modular.
It should be possible to revise these implementations to use the standard service discovery mechanism.
I completely agree! I wanted to do this a long time ago but never came to do it. I personally don't have much experience on doing this and any help is most welcome.