More Pythonic VTK wrapping

How about this

p = vtkRTAnalyticSource() >> vtkContourFilter(contour_values=[100])
p.update() # returns self (or None)
print(p.output.number_of_points)

where now output is a python property returning None before update() is called.
In case of multiple outputs output can be a tuple and you can still do

output, c_output = (source >> clip).update().output

isn’t this the most similar sequence of actions to what we normally do in vtk?

algo = SomeSource()
algo.Update()
out = algo.GetOutput()