If `ko.options.deferUpdates = true`, then updates to the UI don't happen immediately when you modify the viewModel.
For the sortable binding, this means that after removing a moved item, it doesn't recreate it at the new position.
Calling `ko.tasks.runEarly` before re-inserting the item into the observableArray makes KO register the removal.
This is the fix proposed by @adriaanmeuris in RubaXa/Sortable#712
Use closure local variable instead of attaching the element to viewmodel. This is to prevent error caused by bound dom element as in issue 559.
https://github.com/RubaXa/Sortable/issues/559