code: def capability_functions(self, fn):
          if _debug: Collector._debug("capability_functions %r", fn)
          fns = []
          for cls in self.capabilities:
              xfn = getattr(cls, fn, None)
              if _debug: Collector._debug("    - cls, xfn: %r, %r", cls, xfn)
              if xfn:
                  fns.append( (getattr(cls, '_zindex', None), xfn) )
          fns.sort(key=lambda v: v[0])
          if _debug: Collector._debug("    - fns: %r", fns)
          for xindx, xfn in fns:
              if _debug: Collector._debug("    - yield xfn: %r", xfn)
              yield xfn