code: function init(names) {  // {{{2
  /**
   * Class constructor
   *
   * @method constructor
   */
  
    this.count = 0;
    this.deps = {};
    this.groups = {};
    this.cb = null;
  
    if (! names) return;
  
    this.add(names[0], function(cb) { cb() });
    for (var i = 1; i < names.length; i++) {
      this.add(names[i], names[i-1], function(cb) { cb() });
    }
  
    return;
  }
docs: @caption Dependencies
  
  @readme
  Dependencies make it possible to carry out asynchronous operations
  in a specific order.
  
  @class ose.lib.deps
  @type class
  @extends EventEmitter
   Public {{{1