     callback = defaultCallback if not callback
 
     part = @participants[participantId]
-    part = @participants[@participantsByRole(participantId)] if not part?
+    part = @participants[participantsByRole(@participants, participantId)] if not part?
 
     debug 'subscribeTo', participantId, outport
     port = findPort part, 'outport', outport

    callback = defaultCallback if not callback

    part = @participants[participantId]
    part = @participants[@participantsByRole(participantId)] if not part?
    port = findPort part, 'inport', inport
    return @broker.sendTo 'inqueue', port.queue, message, callback


  connect: (fromId, fromPort, toId, toName, callback) ->
    callback = ((err) ->) if not callback
 
    # NOTE: adding partial connection info to make checkParticipantConnections logic work
    edgeId = connId fromId, fromPort, toId, toName
    edge =
