def each(self, callback):
        """
        Execute a callback over each item.

        .. code::

            collection = Collection([1, 2, 3])
            collection.each(lambda x: x + 3)

        .. warning::

            It only applies the callback but does not modify the collection's items.
            Use the `transform() <#backpack.Collection.transform>`_ method to
            modify the collection.

        :param callback: The callback to execute
        :type callback: callable

        :rtype: Collection
        """
        items = self.items

        for item in items:
            if callback(item) is False:
                break

        return self
Execute a callback over each item.

        .. code::

            collection = Collection([1, 2, 3])
            collection.each(lambda x: x + 3)

        .. warning::

            It only applies the callback but does not modify the collection's items.
            Use the `transform() <#backpack.Collection.transform>`_ method to
            modify the collection.

        :param callback: The callback to execute
        :type callback: callable

        :rtype: Collection