docs: function(name, definition) {
        if (!_.isString(name)) {
          throw new Error('Step name must be a string, got ' + typeof(name));
        } else if (typeof(definition) != 'function') {
          throw new Error('Step definition must be a function, got ' + typeof(definition));
        } else if (this.findStep(name)) {
          throw new Error('Step "' + name + '" is already defined');
        }
  
        this.steps.push({ name: name, definition: definition });
        return this;
      }