Calling event when object is moved or changed

Is it possible to bind event with object. For example every time line is moved or scaled some function is drawing middle point of this curve. This point can be part of Rhino.Display.DisplayPipeline.

I have in mind something like Edge Analysis

old post but I had to do the same so i thought I share what I found
one can bind handlers to Rhino.Commands.Command.EndCommand event.
seems to work even if the move is by click-and-drag of a mouse