def METHOD_NAME(self, dep, code_changed=False, value_changed=False):
    if code_changed and logger.level <= logging.DEBUG:
        logger.debug("ModularProgram changed: %s   source=%s, values=%s", 
                     self, code_changed, value_changed)
        import traceback
        traceback.print_stack()
    if code_changed:
        self._need_build = True
    self.changed(code_changed=code_changed, 
                 value_changed=value_changed)