Per component capability namespaces

I don't think this got merged before, here is the final implementation of per component capability namespaces