code: function () {
        var isNewProject = (this.composerOrig == undefined);
        if (!isNewProject) {
          // Use original composer file if project already generated.
          this.composer = this.composerOrig;
        }
  
        this.composer.name = 'organization/' + options.projectName;
        this.composer.description = options.projectDescription;
        // Allow distros to modify the composer.json.
        if (typeof options.drupalDistro.modifyComposer == 'function') {
          var done = this.async();
          options.drupalDistro.modifyComposer(options, this.composer, isNewProject, done, function(err, result, done) {
            if (!err && result) {
              this.composer = result;
            }
            else {
              this.log.warning("Could not retrieve Octane's composer.json: "  + err);
              return done(err);
            }
            done();
          }.bind(this));
        }
      }
docs: While there are write operations in this, other write operations may need to examine the composer.json to determine their own configuration.