def getOutput(cls, dev):
        """
        Get output with devive number 'dev' - dev may also be string matching
        the target device. If the output was previously loaded this will return
        the cached device.
        """
        no = dev
        if isinstance(dev, basestring):
            no = cls.deviceMap[dev]['output']
        key = ('output', no)
        if key not in cls._channels:
            cls._channels[key] = pypm.Output(no)
        return cls._channels[key]