code: function unmount(asSub) {
  	var vm = this;
  
  	var node = vm.node;
  	var parEl = node.el.parentNode;
  
  	// edge bug: this could also be willRemove promise-delayed; should .then() or something to make sure hooks fire in order
  	removeChild(parEl, node.el);
  
  	node.el = null;
  
  	if (!asSub)
  		{ drainDidHooks(vm, true); }
  }
docs: asSub means this was called from a sub-routine, so don't drain did* hook queue