code: def eval_hooks(self):
          
          logging.debug("Evaluating hooks")
          if self.get_edge_triggered():
              logging.debug("Hook triggered")
              for hook in [h for h in self.edge_hooks if h.is_ready()]:
                  logging.debug("Hook invoked")
                  hook.invoke()
docs: Evaluate the current state of this Source and
          invoke any attached hooks if they've been triggered