<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def register_callback_reassigned(self, func, serialised=True):
 """ Register a callback for resource reassignment. This will be called when any resource is reassigned to or from your agent. If `serialised` is not set, the callbacks might arrive in a different order to they were requested. The payload passed to your callback is an OrderedDict with the following keys #!python r : R_ENTITY, R_FEED, etc # the type of resource reassigned lid : <name> # the local name of the resource epId : <GUID> # the global Id of the agent the # resource has been reassigned *to* id : <GUID> # the global Id of the resource `Note` resource types are defined [here](../Core/Const.m.html) `Note` You can check whether this is an assign "in" or "out" by comparing the epId with your current agent id, using the `IOT.Client.agent_id` property. If it's the same it's a reassign to you. `Example` #!python def reassigned_callback(args):
 print(args) client.register_callback_reassigned(reassigned_callback) This would print out something like the following on assignment of an R_ENTITY to #!python OrderedDict([(u'lid', u'moved_thing'), (u'r', 1), (u'epId', u'5a8d603ee757133d66d99875d0584c72'), (u'id', u'4448993b44738411de5fe2a6cf32d957')]) """

        self.__client.register_callback_reassigned(partial(self.__callback_payload_only, func), serialised)