This is basically the best thing I've come up with for dealing with references. This could easily be converted to a messaging system because it acts on a command class and not a directly exposed API. Of course person could have its own class hierarchy but for the purposes of this example I didn't go into that.
Block Diagram
All Commands Call "Do.vi"
DO.vi unwraps the In place element structure, and calls the dynamic dispatch instance of "Action.VI" which is in the command hierarchy
Methods of "person.lvclass" are called within the individual "Action" VIs
MultiCommand can call multiple commands without leaving the in place element structure. here is its block diagram, it is a recursive call
Here is the output of this group of calls, it shows the unwrapping/wrapping of the reference
I think this is basically the most extensible way to do a by reference API
~Jon
DVR Intervace 9p0.zip