allow user to modify object before passing to builtin callback

* first execute user provided function
* user can set own ui.item.sortable