Senden von Daten von einem Protokoll zu einem anderen Protokoll in Twisted?

Eines meiner Protokolle ist mit einem Server verbunden, und mit dessen Ausgabe möchte ich es an das andere Protokoll senden.

Ich muss von ClassB aus auf die 'msg'-Methode in ClassA zugreifen, erhalte aber weiterhin:exceptions.AttributeError: 'NoneType' object has no attribute 'write'

Aktueller Code:

from twisted.words.protocols import irc
from twisted.internet import protocol
from twisted.internet.protocol import Protocol, ClientFactory
from twisted.internet import reactor

IRC_USERNAME = 'xxx'
IRC_CHANNEL = '#xxx'
T_USERNAME = 'xxx'
T_PASSWORD = md5.new('xxx').hexdigest()

class ircBot(irc.IRCClient):
    def _get_nickname(self):
        return self.factory.nickname

    nickname = property(_get_nickname)

    def signedOn(self):
        self.join(self.factory.channel)
        print "Signed on as %s." % (self.nickname,)

    def joined(self, channel):
        print "Joined %s." % (channel,)

    def privmsg(self, user, channel, msg):
        if not user:
                return

        who = "%s: " % (user.split('!', 1)[0], )
        print "%s %s" % (who, msg)

class ircBotFactory(protocol.ClientFactory):
    protocol = ircBot

    def __init__(self, channel, nickname=IRC_USERNAME):
        self.channel = channel
        self.nickname = nickname

    def clientConnectionLost(self, connector, reason):
        print "Lost connection (%s), reconnecting." % (reason,)
        connector.connect()

    def clientConnectionFailed(self, connector, reason):
        print "Could not connect: %s" % (reason,)

class SomeTClass(Protocol):
    def dataReceived(self, data):
        if data.startswith('SAY'):
                data = data.split(';', 1)
                # RAGE
                #return self.ircClient.msg(IRC_CHANNEL, 'test')

    def connectionMade(self):
        self.transport.write("mlogin %s %s\n" % (T_USERNAME, T_PASSWORD))

class tClientFactory(ClientFactory):
    def startedConnecting(self, connector):
        print 'Started to connect.'

    def buildProtocol(self, addr):
        print 'Connected.'
        return t()

    def clientConnectionLost(self, connector, reason):
        print 'Lost connection.  Reason:', reason

    def clientConnectionFailed(self, connector, reason):
        print 'Connection failed. Reason:', reason

if __name__ == "__main__":
    #chan = sys.argv[1]
    reactor.connectTCP('xxx', 6667, ircBotFactory(IRC_CHANNEL) )
    reactor.connectTCP('xxx', 20184, tClientFactory() )
    reactor.run()

Irgendwelche Ideen bitte? : -)