docs: function(config, name) {
              if (config && config !== Object(config)) {
                  throw new Error('Config object should be a key/value object.');
              }
  
              var defaultConfig = {
                  loop: false,
                  maxLoops: Infinity
              };
  
              var instance = Object.create(Queue);
  
              this.queues.push(name ? {
                  name: name,
                  instance: instance
              } : {
                  instance: instance
              });
  
              merge(instance, {
                  config: merge({}, defaultConfig, config),
                  steps: []
              });
  
              return instance;
          }