Changing Sender in Drag&Drop

Is it possible to change Sender in a drag & drop operation?  It's
clunky for the receiving object to have to receive a TStringGrid,
TTreeNode, or whatever, then do the special decoding necessary to
recover TMyObject from the customizable object/pointer of the sending
object.  The code would be much cleaner if Sender could be changed to
TMyObject when the dragging begins.

One way to do this would be to make TMyObject a descendant of the
sending object, but in this case TMyObject already has a family tree,
and Object Pascal doesn't support multiple inheritence.  

Thanks for any suggestions,

- Eric Zager