Delegate providers based on string name

Allows you to specify your provider in the config that you pass in. There's probably a better way to do this than case things on a string but it'll do until more are added.