Just to be clear -- the "JSON-like binding syntax" includes arbitrary JavaScript code, right? That's how stuff like this works...
<button data-bind="click: function() { allItems.sort() }, enable: allItems().length > 1">
Sort
</button>