Knockout.js observable arrays get smarter