Good point - right now you get the same ModifiedEvent no matter what parameter changed. You would need to keep track of the old values and check which one had changed.
Currently we just call Modified in SetParameter, but we could change that to be this->InvokeEvent(vtkCommand::ModifiedEvent, name)
Then you should be able to get the parameter using the method described here