internal Func<object> ResolveInstancing(Type service, ICustomAttributeProvider context)
 {
     Identifier identifier = new Identifier (service, GetSelectorAttributeIn (context));
     if (instancingTable.ContainsKey (identifier))
         return instancingTable[identifier];
     return null;
 }
        internal Type ResolveImplementation(Type service, ICustomAttributeProvider context)
        {
            Identifier identifier = new Identifier (service, GetSelectorAttributeIn (context));

            if (!linkingTable.ContainsKey (identifier)) {
                if (service.IsDefined (typeof (AssociateImplementationAttribute), false))
                    WireInterface (service, GetImplementationType (service));
            }

            if (linkingTable.ContainsKey (identifier))
                return linkingTable[identifier];

            //TODO: Perhaps returning null better?
            return service;
        }