Pretend your scene is like this:
Inside child21 on being killed a random pickup - object.instance() - is instanced in its place and then frees itself.
When this new instance dies you give the player some health via emitting a signal.
But when the new instance is created, it or child21 that created it has no idea about it's parentage. So how can a parent object, e.g. 'Game Scene' connect to this signal when I'm trying to use signals to avoid knowing about parents, i.e. I want to emit the signal for this very purpose.
Hard-coding a parent or path inside the child21 instance() seems completely counter-intuitive, such as newobject.connect("pickup", gettree().getroot(),"onpickup")
The only way round this that I can see is I have to hold references to certain nodes and inject them into all instance objects or only allow nodes that I want to use as observers to create new instances...