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