Ok, so easier than I thought. Hopefully.
for (var i:int = 0; i < kid.length;i++) { kid[i].engine(connectList[i]); }
changed to:
for (var i:String in kid) { kid[i].engine(connectList[i]); }
This iterates through the indexes of kid which are created using the output port of the originating modules. so they might look like this:
kid[0]==led1 kid[9]==led2
and still work. Not that I even know yet, if connections like the ones above would ever occur. Here's the proof:
This movie requires Flash Player 9