docs: function (name, blobClient, descriptor) {
          this.name = name;
          this.blobClient = blobClient;
          this.blobClientPutFile = tasync.unwrap(tasync.throttle(tasync.wrap(blobClient.putFile), 5));
          this.blobClientGetMetadata = tasync.unwrap(tasync.throttle(tasync.wrap(blobClient.getMetadata), 5));
          // TODO: use BlobMetadata class here
          this.descriptor = descriptor || {
              name: name + '.zip',
              size: 0,
              mime: 'application/zip',
              content: {},
              contentType: 'complex'
          }; // name and hash pairs
      }