code: function deepNotifyRemove(node) {
  	var vm = node.vm;
  
  	var wuRes = vm != null && fireHook(vm.hooks, "willUnmount", vm, vm.data);
  
  	var wrRes = fireHook(node.hooks, "willRemove", node);
  
  	if ((node.flags & DEEP_REMOVE) === DEEP_REMOVE && isArr(node.body)) {
  		for (var i = 0; i < node.body.length; i++)
  			{ deepNotifyRemove(node.body[i]); }
  	}
  
  	return wuRes || wrRes;
  }
docs: TODO: this should collect all deep proms from all hooks and return Promise.all()