Add InventoryIterator and tests