clean way to get machine arrival/leaving/completion events in Process Modeling

Hi,

I am practicing with a VC 4.10 layout where a flow group looks roughly like this:

`Product Feeder → Conveyor In → Lathe 1 / Lathe 2 → CMM → Conveyor Out`

The passive transport between these process nodes is handled by a custom robot transport controller.

I expected to read machine-side callbacks directly from the machine-related APIs, for example:

- `TransportNode.OnProductArriving / OnProductLeaving`

- `vcContainer.OnTransition`

- `vcProcessExecutor.OnProgramFinished`

But in this scene that did not work reliably.

What I saw:

- my original code subscribed from the higher level (`TransportNode` / `ProcessExecutor`)

- for these passive CNC/process nodes, the callbacks I expected did not reliably trigger in my external observer script

- even `OnProgramFinished` was not giving me a stable machine-owned completion callback for those nodes

- `Container.OnTransition` also was not usable as a clean observer point, because the machine’s own internal script was already using the container callback

- trying to wrap the custom `PythonTransportController` callbacks from outside was also not stable in this scene

So in the end, the only thing that worked was a workaround inside the robot controller’s `ResourceLogic`:

- when the robot picks from source node A, I treat that as “machine A leaving”

- when the robot places into destination node B, I treat that as “machine B arrival”

This works for my current layout, but it is obviously not a very elegant solution because I am indirectly inferring machine events from robot transport execution.

My question is:

In this kind of Process Modeling + custom robot transport controller setup, what is the correct and official way to get reliable machine-owned callbacks for:

- product arrived at machine

- product left machine

- process completed on machine

I am hoping there is a proper machine-side API pattern for this, because using upstream/downstream robot behavior to infer machine callbacks feels wrong.

If anyone from the VC team or anyone experienced with this type of layout can clarify the recommended hook, I would really appreciate it.