Removes a member from the collection.

        :param obj: Object to remove.

        Example:
            >>> mycollection.remove(pump.Person('bob@example.org'))

def remove(self, obj):
        """ Removes a member from the collection.

        :param obj: Object to remove.

        Example:
            >>> mycollection.remove(pump.Person('bob@example.org'))
        """
        activity = {
            "verb": "remove",
            "object": {
                "objectType": obj.object_type,
                "id": obj.id
            },
            "target": {
                "objectType": self.object_type,
                "id": self.id
            }
        }

        self._post_activity(activity)

        # Remove the cash so it's re-generated next time it's needed
        self._members = None