[vtkMRMLCommandLineModuleNode.AddObserver()] Missing Documentation

Using cliNode = slicer.cli.run() returns a vtkMRMLCommandLineModuleNode that can asynchronously call a CLI module.

It is shown here that one can use the cliNode.AddObserver() callback for when the “cliNode is modified”.

I was unable to find any documentation on what this means exactly? When I print the output of the callback I get a lot of events. But the only unique caller.GetStatus():caller.GetStatusString() values are “2:Running” or “32:Completed”. So why is the callback called so many times if the modification of the CLI module takes place only twice.

This is not a blocker to my work and I was just curious since I was unable to find documentation around it.

The callback is called many times because progress is updated more often than the status (percentage complete, name of current phase and operation, etc.).