code: function () {
      var cascade = [];
      var callback = this.onComplete.bind(this);
  
      if (this.source) {
        // When a source file is included in this request: verify its sign,
        // download from the source, and upload into storage
        cascade.push(new SignVerifier(this.sign, this.source));
        cascade.push(new SourceDownloader(this.source));
        cascade.push(storage.uploader(this.key, this.request));
      } else {
        // When no source file, simply download from storage
        cascade.push(storage.downloader(this.key, this.request));
      }
  
      // Add in the operations modules
      operations.modules.forEach(function (Module) {
        cascade.push(new Module(this.ops, this.key, this.request));
      }, this);
  
      // Use a different response handler depending on if we're returning a
      // photo or not
      if (this.nophoto) {
        cascade.push(new EmptyResponseHandler(this.response, callback));
      } else {
        cascade.push(new ResponseHandler(this.response, callback));
      }
  
      // Setup the cascade and start it
      this.cascade = new Cascade(cascade);
      this.cascade.start();
    }
docs: Handle an individual request