class_docstr: Implements a 'addComponent' method that decomposes components
  (i.e. draws them onto self as simple contours).
  It can also be used as a mixin class (e.g. see ContourRecordingPen).
  
  You must override moveTo, lineTo, curveTo and qCurveTo. You may
  additionally override closePath, endPath and addComponent.
  
  By default a warning message is logged when a base glyph is missing;
  set the class variable ``skipMissingComponents`` to False if you want
  to raise a :class:`MissingComponentError` exception.
code: def addVarComponent(self, glyphName, transformation, location):
      # GlyphSet decomposes for us
      raise AttributeError
  
imports: from typing import Tuple, Dict
  from fontTools.misc.loggingTools import LogMixin
  from fontTools.misc.transform import DecomposedTransform
label_desc: Use image node_id 3 for calling the DecomposingPen obj's underlying member method code with example usage: obj.addVarComponent(glyphName, transformation, location) without return types