dist/pico/domvm.pico.es.js
function ViewModel(view, data, key, opts) {
	var vm = this;

	vm.view = view;
	vm.data = data;
	vm.key = key;

	if (opts) {
		vm.opts = opts;
		vm.cfg(opts);
	}

	var out = isPlainObj(view) ? view : view.call(vm, vm, data, key, opts);

	if (isFunc(out))
		{ vm.render = out; }
	else {
		vm.render = out.render;
		vm.cfg(out);
	}

	vm.init && vm.init.call(vm, vm, vm.data, vm.key, opts);
}
function ViewModel(view, data, key, opts) {
	var vm = this;

	vm.view = view;
	vm.data = data;
	vm.key = key;

	if (opts) {
		vm.opts = opts;
		vm.cfg(opts);
	}

	var out = isPlainObj(view) ? view : view.call(vm, vm, data, key, opts);

	if (isFunc(out))
		{ vm.render = out; }
	else {
		vm.render = out.render;
		vm.cfg(out);
	}

	vm.init && vm.init.call(vm, vm, vm.data, vm.key, opts);
}
function ViewModel ( view , data , key , opts ) { var vm = this ; vm . view = view ; vm . data = data ; vm . key = key ; if ( opts ) { vm . opts = opts ; vm . cfg ( opts ) ; } var out = isPlainObj ( view ) ? view : view . call ( vm , vm , data , key , opts ) ; if ( isFunc ( out ) ) { vm . render = out ; } else { vm . render = out . render ; vm . cfg ( out ) ; } vm . init && vm . init . call ( vm , vm , vm . data , vm . key , opts ) ; }
view + key serve as the vm's unique identity
view + key serve as the vm s unique identity