chore(providers) - decouple how provider can be registered in the system

@petrjasek  @ioanpocol feedback?
so i think this should be internal maybe even part of `register_provider`