Tweaks to repeater to allow passing in objects directly from the list/array as things to pass to "setData", rather than setting "item" to the data.
onViewModelChanged should not call this.update, but instead that should be called separately on vm change. That means update still gets called even if subclass doesn't call super.onViewModelChanged.