<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_guest_property_value(self, property_p, value):
 """Sets or changes a value in the machine's guest property store. The flags field will be left unchanged or created empty for a new property. in property_p of type str The name of the property to set or change. in value of type str The new value of the property to set or change. If the property does not yet exist and value is non-empty, it will be created. raises :class:`OleErrorAccessdenied` Property cannot be changed. raises :class:`VBoxErrorInvalidVmState` Virtual machine is not mutable or session not open. raises :class:`VBoxErrorInvalidObjectState` Cannot set transient property when machine not running. """

        if not isinstance(property_p, basestring):
            raise TypeError("property_p can only be an instance of type basestring")
        if not isinstance(value, basestring):
            raise TypeError("value can only be an instance of type basestring")
        self._call("setGuestPropertyValue",
                     in_p=[property_p, value])