             return unless (try moved.length or null) > 0
             try logger.info pe, moved.length, this.service
             $(nod).data owners: go(nod) for nod in moved
-            go(nod).push this for nod in moved or Array()
+            go(n).push @ for n in moved unless @ in go(n)
             @emit "pp-parented", selector, renderer, moved
             _.each moved, (n) => renderer.call @, n, go n
 

            return unless (try moved.length or null) > 0
            try logger.info pe, moved.length, this.service
            $(nod).data owners: go(nod) for nod in moved
            go(nod).push this for nod in moved or Array()
            @emit "pp-vanished", selector, renderer, moved
            _.each moved, (n) => renderer.call @, n, go n


            return unless (try added.length or null) > 0
            try logger.info pe, added.length, this.service
            $(nod).data owners: go(nod) for nod in added
            go(n).push @ for n in added unless @ in go(n)
            @emit "pp-pinpoint", selector, renderer, added
            _.each added, (n) => renderer.call @, n, go n
