class Multiplexer:
    def __init__(self):
        self.clients = {}

    def connect(self, client):
        self.clients[client.getsource()] = client
        
    def disconnect(self, client):
        if self.clients.has_key(client.getsource()):
            del self.clients[client.getsource()]
            
    def castmsg(self, data):
        for client in self.clients.values():
            client.render(data)

