complete docstring
SharedDependency -> ProviderCollector (mixin)
A few bug fixes + coverage