def add(value, key=None):
    """Add an object without necessarily knowing the key of the object.

        Either pass in a valid key or the key will be:
        - in case ``_pj_mapping_key`` is ``None``: the object's OID
        - otherwise ``getattr(value, _pj_mapping_key)``
        """
