anchor.diff:     void _openSession() {
        print("Opening session");
        MqttMessageConnect m = new MqttMessageConnect.setOptions(_clientID, _qos, _cleanSession);
  +     
  +     m._userName = userName;
  +     m.setUserName(userName);
  +
  +     m._password = userPassword;
  +     m.setUserNameAndPassword(userName, userPassword);
        
        // set will
        m.setWill(_will);
  
positive.code:    * An optional callback can be provided to be called when 
     * the connection to the mqtt broker has been lost
    */
    Future<int> connect([onConnectionLostCallback]) {
      _connack = new Completer();
      
      if (onConnectionLostCallback != null) onConnectionLost = onConnectionLostCallback;
      
  
negative.code:   var onSubscribeData = null;
    var onConnectionLost = null;
    Map<int, Completer>  _messagesToCompleteMap;
  
    String userName;
    String userPassword;
    
    var _liveTimer;
  
  