Refactor providers to take the same constructor arguments.