Rewrote provider configuration to use the new IoC container.