nice then!
imo, dependency lookup implies that the managed objects are responsible for doing their own lookups so your code (at least a helper) implements framework related apis
I can't see a cycle here since components just access the registry, not the container itself
think about the ejb world (now changed :) ) it was pure dl
so yes, di is a much more complete implementation strategy of ioc than dl, also cleaner and smarter
short version:
* ioc container manages object lifecycle
* dl: objects are responsible for doing their own lookups
* di: the container wires the components