Pass target to onUse()
onUse() can return an ItemPile to replace held item