def remove(self, item):
        """Remove an item from the list

        :param item: The item to remove from the list.
        :raises ValueError: If the item is not present in the list.
        """
        if item not in self:
            raise ValueError('objectlist.remove(item) failed, item not in list')
        item_id = int(self._view_path_for(item))
        giter = self._iter_for(item)
        del self[giter]
        self.emit('item-removed', item, item_id)