code: function updateVirtualComponent (vnode) {
    var vm = this;
    var componentId = vm.$options.componentId;
    if (vm._isMounted) {
      callHook(vm, 'beforeUpdate');
    }
    vm._vnode = vnode;
    if (vm._isMounted && componentId) {
      // TODO: data should be filtered and without bindings
      var data = Object.assign({}, vm._data);
      updateComponentData(componentId, data, function () {
        callHook(vm, 'updated');
      });
    }
  }
docs: override Vue.prototype._update