Implement some form of `multi` providers. Is a flag on the provider the best way? How to allow multiple providers while still allowing proper overwriting with single injected providers?