docs: def injectAttribute(annotationName, depth, attr, value):
      """
      Inject an attribute in a class from it's class frame.
      Use in class annnotation to create methods/properties dynamically
      at class creation time without dealing with metaclass.
  
      depth parameter specify the stack depth from the class definition.
      """
      locals = reflect.class_locals(depth, annotationName)
      injections = locals.get(_ATTRIBUTE_INJECTIONS_ATTR, None)
      if injections is None:
          injections = list()
          locals[_ATTRIBUTE_INJECTIONS_ATTR] = injections
      injections.append((attr, value))