<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def notify_watches(self, oldval, newval):
        '''
        Passes `oldval` and `newval` to each `fn` in the watches dictionary,
        passing along its respective key and the reference to this object.

        :param oldval: The old value which will be passed to the watch.
        :param newval: The new value which will be passed to the watch.
        '''
        watches = self._watches.copy()
        for k in watches:
            fn = watches[k]
            if isinstance(fn, collections.Callable):
                fn(k, self, oldval, newval)