for this class, id is not merely something unique to the instance.  the ids for all the keys put together form an interval of natural numbers starting at 0 and with no gaps.  the implementation of BaseInjector.fromParent relies heavily upon this property.