Robot arm grasp event

hello, I am keep learning VC APIs, here have couple questions about the robot arm grasp event here need your help , thanks.

  1. I got the grasp_container from the robot component : grasp_property=comp.getProperty(“Advanced::GraspContainerName”)

this container has an event OnTransition , it is perfect for grab and release event ,however the callback parameters are product component and arrival Boolean.

it is fine for one robot arm only , but incase the scene have multiple robots , how can I know which robot’s grasp event is triggered from ?

  1. I noticed there is a similar event from Component’s OnContainerTransition,the callback parameter has a vcContainer which can help distinguish the robot. however when I iterated the components on robotcontroller (under Process Transport Controller) and the robot (under Robots), all of them 's container are None and callback can not be triggered at runtime at all. can I know if this OnContainerTransition works on which robot’s component ?

  2. what is the most efficient way to find the related robot components from the pythonTransportController ?
    the current tracking path I am using is this:
    all FLow_Groups-> all transport links support the flow_group → link_Implementer(robot pythonTransportController) ->find PNP behavior ->PNP.ConnectedComponent ->find VC_ROBOTCONTROLLER behaviours->find grasp_container
    it is a quite long joinery ,especially has to always aware the depth of the components when using findBehavours.
    VC sperated the controller and the entity component for decoupling purpose, but it is a bit diffcult to find one from another one, it should has some shortcut property to connect them, which should be more convinent compare to using findbehvioursbytype() , or maybe I missed some thing here

4.data sharing between python scripts, I found python scripts behaviours are isolated from each other, they can be found but all variable and function accessing are forbidden. even they import the same customized module , the module seems are different in each script’scope since they have the different ID in memory , not like a singleton as normal. just want to double confirm is this the designed rule in VC ? if yes ,then what is the best way to share complex data like objects /dictionary data between python behaviours ?