code: function(mode, ms) {
  		if( this.tree.timer ) {
  			clearTimeout(this.tree.timer);
  //            this.tree.debug("clearTimeout(%o)", this.tree.timer);
  		}
  		this.tree.timer = null;
  		var self = this; // required for closures
  		switch (mode) {
  		case "cancel":
  			// Simply made sure that timer was cleared
  			break;
  		case "expand":
  			this.tree.timer = setTimeout(function(){
  				self.tree.debug("setTimeout: trigger expand");
  				self.setExpanded(true);
  			}, ms);
  			break;
  		case "activate":
  			this.tree.timer = setTimeout(function(){
  				self.tree.debug("setTimeout: trigger activate");
  				self.setActive(true);
  			}, ms);
  			break;
  		default:
  			throw "Invalid mode " + mode;
  		}
  //        this.tree.debug("setTimeout(%s, %s): %s", mode, ms, this.tree.timer);
  	}
docs: Schedule activity for delayed execution (cancel any pending request).
  scheduleAction('cancel') will only cancel a pending request (if any).
  @param {string} mode
  @param {number} ms