@caitp regarding crawling up the tree and handling text nodes: isn't this handled in the drop function just before dropAllowed is called?  https://github.com/caitp/angular-drop/blob/master/src/droppable.js#L176-183