Fix nested message collision

Messages were named using their stack *depth* so 2 messages of the same
depth collided. This attempt names messages by their full scope -
avoiding collisions while hopefully not breaking other stuffs.