Because when resolving deps asynchronously, you may accidentally register multiple temporary containers while others are still resolving. The tmp counter just increments to give the temp container a unique name to prevent conflicting with asynchronous calls. I agree, it's magicish and horribly named =)