<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def set_property(self, key, value):
 """Set a property on the document. Calling code should use this method to add and modify properties on the document instead of modifying ``properties`` directly. If ``key`` is ``"_links"`` or ``"_embedded"`` this method will silently fail. If there is no property with the name in ``key``, a new property is created with the name from ``key`` and the value from ``value``. If the document already has a property with that name, it's value is replaced with the value in ``value``. """

        if key in self.RESERVED_ATTRIBUTE_NAMES:
            return
        self.o[key] = value