Producers now fully stateless
DependencyProviders split between DecoratorDependency and AttributeDependency base classes