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