code: function(config) {
  	  
       var client = mqtt.connect(config.server + ':' + config.port);
       client.subscribe(this.id);
       
  	 client.on('message', function(topic, message) {
         /*
          * This is called when a result to a third party call request is delivered.  
          */
         l('DEBUG') && console.log('3PCC.mqttClient - Received Message on topic: '+topic);
  
  	   //	First convert to a JS object;
         message = JSON.parse(message);
  	   
  		//	Next cancel the response timer.
  		var respTimer = respTimerMap[message.transID];
  		
  		if (respTimer != null)
  		{
  		   clearInterval(respTimer);
  		   delete respTimerMap[message.transID];
  		}
  		else
  		{
  			l('DEBUG') && console.log('3PCC.mqttClient - Received Message but could not find associated response timer');
  		}
  		
          try {
          	this.callback(message);
          } catch(e) {
            console.error('MqttClient Message callback chain failure:',e);
            console.log(e.stack);
          }
        }.bind(this));
  	  
      client.on('connect', function(error) {
        //console.log('mqtt is CONNECTED');
        this.connected = true;
  	  // Subscribe on unique ID to get the response back.
  	  mqttClient.subscribe(this.id);
        this.emit('connected');
      }.bind(this));
      
  	client.on('error', function(error) {
        console.log('DISCONNECTED - error: '+ error);
        this.connected = false;
        this.emit('disconnected', error);
      }.bind(this));
      
  	client.on('close', function(error) {
        console.log('DISCONNECTED - close: '+error);
        this.connected = false;
        this.emit('disconnected',error);
      }.bind(this));
      return client;
    }
docs: createMqttClient - create MQTT client
  
  @param {Object} config
  @private