_taskMap = new ConcurrentHashMap<String, MessageTaskInfo>();
_executorMap = new ConcurrentHashMap<String, ExecutorService>();
_lock = new Object();
_statusUpdateUtil = new StatusUpdateUtil();
_monitor = new ParticipantMonitor();
_timer = new Timer(true); // created as a daemon timer thread to handle task timeout
startMonitorThread();
}