code: function(key, delay, args) {
          this.clearTimer(key);
  
          var func;
  
          if (key === 'show') {
              func = this.position;
          } else {
              func = this.hide;
          }
  
          if (func) {
              this.timers[key] = setTimeout(function() {
                  func.apply(this, args || []);
              }.bind(this), delay);
          }
      }
docs: Add a timer that should trigger a function after a delay.
  
  @param {String} key
  @param {Number} delay
  @param {Array} [args]