I want to do something like this:
GoObject doesn’t define any events. It does have methods, such as OnContextClick, that you could override, that can get called when a GoView.ObjectContextClicked event occurs.
So you can either override that method, or you can define a GoView.ObjectContextClicked event handler. In the latter case, remember that the object that is clicked is likely to be a child of the node you care about.
The reason GoObject doesn't define any event handlers is both for convenience and for efficiency. It would be annoying to have to always remember to add event handler delegates to each node, and even more annoying to remember to remove such event handlers when the object is removed/deleted. And it would take additional space on each object to remember these event handlers -- we have tried to make all GoObjects fairly space efficient as well as time efficient.