code: function(id, sGroup, config) {
  
          // configuration attributes 
          this.config = config || {};
  
          this.events = {};
  
          // create a local reference to the drag and drop manager
          this.DDM = YAHOO.util.DDM;
  
          // initialize the groups object
          this.groups = {};
  
          // assume that we have an element reference instead of an id if the
          // parameter is not a string
          if (typeof id !== "string") {
              YAHOO.log("id is not a string, assuming it is an HTMLElement");
              this._domRef = id;
              id = Dom.generateId(id);
          }
  
          // set the id
          this.id = id;
  
          // add to an interaction group
          this.addToGroup((sGroup) ? sGroup : "default");
  
          // We don't want to register this as the handle with the manager
          // so we just set the id rather than calling the setter.
          this.handleElId = id;
  
          Event.onAvailable(id, this.handleOnAvailable, this, true);
  
          // create a logger instance
          this.logger = (YAHOO.widget.LogWriter) ? 
                  new YAHOO.widget.LogWriter(this.toString()) : YAHOO;
  
          // the linked element is the element that gets dragged by default
          this.setDragElId(id); 
  
          // by default, clicked anchors will not start drag operations. 
          // @TODO what else should be here?  Probably form fields.
          this.invalidHandleTypes = { A: "A" };
          this.invalidHandleIds = {};
          this.invalidHandleClasses = [];
  
          this.applyConfig();
      }
docs: Initializes Targeting functionality only... the object does not
  get a mousedown handler.
  @method initTarget
  @param id the id of the linked element
  @param {String} sGroup the group of related items
  @param {object} config configuration attributes