its a bit weird to me to have the default item creation trigger first and then have this event. maybe we could do this:

* trigger the event before the item is created (right at the top of this method). 
* the event can contain the Item as you have it now, but if a handler set the item, the call to `$this->createItem` is skipped
* the event tells whether to process the children of this node
* we can also provide the factory in the event, that way the event handler can use `createItem` easily if it needs the item already.

would that make sense to you?