In order for the vent to happen before this it would have to be able to modify the node as well as the item and I was concerned about effects that modifying the node (removing children for example that are not published) could have in other parts of the system that run after this.

For example lets say a listener removed unpublished children from a node during this process and then later the node was saved (after this menu was rendered). Would it cause the children to be removed? I also wasn't sure there was a way to remove child nodes without actually deleting them.