docs: def remove_private_obfuscation(self):
      """
      removes the python obfuscation of class privates so they can be executed as
      they appear in class source. Useful when playing with IPython.
      """
      classname = self.__class__.__name__
      attrlist = [attr for attr in dir(self) if attr.startswith('_' + classname + '__')]
      for attr in attrlist:
          method = getattr(self, attr)
          truename = attr.replace('_' + classname + '__', '__')
          setattr(self, truename, method)