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

@petrjasek  @ioanpocol feedback?
it might be better to keep here io atm, and at some point remove io and init the core parts before the installed apps. but i don't think we should expose the structure of io here