Hi I assume that your _itemList variable is set via self model items: items. If so then it looks like it will become an array due to the callback:passengers: sent to JQAjax: (html jQuery ajax callback: [:items | self model items: items] passengers: (html jQuery this find: 'li') The implementation: callback: aBlock passengers: aQuery "Trigger the callback aBlock with the passengers of aQuery. Nodes that have no passenger are ignored." self callback: [ :value | aBlock value: (((value subStrings: ',') collect: [ :each | self renderContext callbacks passengerAt: each ]) reject: [ :each | each isNil ]) ] value: (JSStream on: JQuery functionName , '.map(' , aQuery greaseString , '.get(),function(each){return each.id}).join(",")') uses (value subStrings: ',') which will return an array. You could modify your setter accessor items: to modify the collection using asOrderedCollection if you need this...? Kind Regards Carlo On 13 Feb 2015, at 11:26 AM, Mircea S. <mircea@unom.ro> wrote: The code below is form the Seaside book at: http://book.seaside.st/book/web-20/jquery/enhanced-todo-application/drag-and... <http://book.seaside.st/book/web-20/jquery/enhanced-todo-application/drag-and...> ToDoListView>>renderContentOn: html self renderHeadingOn: html. html form: [(html unorderedList) id: (listId := html nextId); script: ((html jQuery new sortable) onStop: (html jQuery ajax callback: [:items | self model items: items] passengers: (html jQuery this find: 'li')); axis: 'y'); with: [self renderItemsOn: html]. (html submitButton) callback: [self add]; text: 'Add']. html render: editor My instance variable _itemList is initially OrderedCollection. As soon as I move the rows around in the page then entire list is sent back in it's new order. However, this time setItemList: receives an Array. Does this make any sense? Am I missing something?