Refactor providers to leverage ResultFactories - fix #232