Initial attempt at a parallel engine. Still needs some work: graceful
termination after all messages have been sent, code cleanup, better
abstraction for MessageQueues, Workers, etc.