Needed to rethink how channels get created for each thread.  Obviously the quick and
dirty will not work for parallel threads