<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def update(self):
 """ Emit an event to inform listeners that properties of this Node have changed. Also request a canvas update. """

        self.events.update()
        c = getattr(self, 'canvas', None)
        if c is not None:
            c.update(node=self)