Turns out that some of the messages have properties that the objects
that handle them can set. For example, the CMouseDragStartMsg has a
_dragItem property that an item that allows dragging will explicitly
set, allowing the input handler to keep track of what was dragged.
This is necessary for at least message sending, and probably other
areas, that needs to be able to pass class filtering for message
targets. And I could figure out a clean way to use the built-in RTTI