code: function(callback) {
        var t = this, startTime = Date.now();
        Monitor.getRouter().connectMonitor(t, function(error) {
  
          // Monitor changes to writable attributes
          if (!error && t.get('writableAttributes').length > 0) {
            t.on('change', t.onChange, t);
          }
  
          // Give the caller first crack at knowing we're connected,
          // followed by anyone registered for the connect event.
          if (callback) {callback(error);}
  
          // Initial data setting into the model was done silently
          // in order for the connect event to fire before the first
          // change event.  Fire the connect / change in the proper order.
          if (!error) {
  
            // An unfortunate side effect is any change listeners registered during
            // connect will get triggered with the same values as during connect.
            // To get around this, add change listeners from connect on nextTick.
            t.trigger('connect', t);
            t.trigger('change', t);
  
            log.info('connected', {initParams: t.get('initParams'), probeId: t.get('probeId')});
            stat.time('connect', Date.now() - startTime);
          }
        });
      }
docs: Connect the monitor to the remote probe
  
  Upon connection, the monitor data model is a proxy of the current state
  of the probe.
  
  @method connect
  @param callback {Function(error)} Called when the probe is connected (or error)
   
  The monitor has successfully connected with the probe
  @event connect