                         # --> EXPERIMENTAL identity based lookups cache -> nero
                         
                         if USELOOKUPSCACHE # inactive if false here
+                            if !(lookupscache = LOOKUPSCACHE[__ident])
+                                @logger.debug 'create lookups cache for', __ident
+                    
+                                lookupscache = LOOKUPSCACHE[__ident] = {}                                
+                                
+                                identity.on 'destroyed', _destroy = ()=>                                    
+                                    @logger.debug 'destroy lookups cache for', __ident
+                                    delete LOOKUPSCACHE[__ident]
+                    
+                                lookupscache._off = ()->
+                                    identity.off 'destroyed', _destroy
+
                             if !lookupscache[name]
-                                @logger.info 'add %s to cache for', name, __ident
+                                @logger.debug 'add %s to cache for', name, __ident
                             
                                 lookupscache[name] = ctx
+                                
+                                ctx.on 'destroyed', ()=>
+                                    @logger.debug 'delete %s from cache for', name, __ident
+                                    delete lookupscache[name]
                         
                         # <-- EXERIMENTAL
                         


ACTIONS = ['configured', 'booted', 'started', 'running', 'shutdown', 'stopped']

USELOOKUPSCACHE = false
LOOKUPSCACHE = {}


        init: (config={}, done)->         
            
            config = @configure config
            
            # --> EXPERIMENTAL identity based lookups cache -> nero
            
            if config.USELOOKUPSCACHE
                USELOOKUPSCACHE = true
            
            # <-- EXPERIMENTAL 
            
            @id = config.id
                    
            @ID = if !(@parent?.ID) then @id else @parent.ID+'.'+@id
