code: function (fp, cb) {
      if (typeof fp === 'function') {
        cb = fp;
        fp = null;
      }
  
      if (typeof cb !== 'function') {
        throw new Error('async `write` was called without a callback function.');
      }
  
      var dest = fp || this.dest.path;
      var src = this.src.path;
      var str = this.content;
      var opts = this.options || {};
      if (typeof opts.force !== 'boolean') {
        opts.force = true;
      }
  
      lazy.detect(this, opts, function () {
        if (str) {
          lazy.write(dest, str, cb);
        } else {
          lazy.copy(src, dest, cb);
        }
      });
  
      this.emit('write', dest);
      return this;
    }
docs: Write the item to disk asynchronously.
  
  @param {String} `fp` Destination filepath.
  @param {Function} `cb` Callback function
  @returns {Object} Returns the instance for chaining.
  @api public