Why does the draggable plugin call my on-drag function before moving the draggable element?

Why does the draggable plugin call my on-drag function before moving the draggable element?

This question comes from the problem I described in this thread:   http://forum.jquery.com/topic/need-help-fixing-wobble-for-a-draggable-object#14737000001649978


I would expect that the draggable sequence of events might look something like this:

1.  User clicks and drags mouse
2.  JQuery UI moves the draggable element.
3.  JQuery UI runs the specified drag function.


Based on my experimentation, it appears that it actually follows this sequence:

1.  User clicks and drags mouse
2.  JQuery UI runs the specified drag function.
3.  JQuery UI moves the draggable element. 


I am wondering about the rationale for this sequence.  For my specific project, this sequence was a significant inconvenience, as I was trying to draw data from the draggable element's post-dragged state.  I can see how a user might want to get data from the draggable element's pre-dragged state, although I can't think of a scenario where someone would want that.  If there are such scenarios, maybe it could be useful to be able to specify both a pre-drag and post-drag function.