code: def trigger_staged_cg_hook(self, name, g, *args, **kwargs):
          
          print_hooks = self._print_hooks
          # TODO: document name lookup business
          # TODO: refactor this context stuff, its confusing
          hook_name = "pre_" + name
          printed_name = hook_name if print_hooks else None
          self.trigger_cg_hook(hook_name, g, printed_name, *args, **kwargs) # TODO: avoid copies
          
          hook_name = "in_" + name
          printed_name = hook_name if print_hooks else None
          self.trigger_cg_hook(hook_name, g, printed_name, *args, **kwargs)
          
          hook_name = "post_" + name
          printed_name = hook_name if print_hooks else None
          self.trigger_cg_hook(hook_name, g, printed_name, *args, **kwargs)
docs: Calls a three-staged hook:
          
          1. ``"pre_"+name``
          2. ``"in_"+name``
          3. ``"post_"+name``