code: function logEvents(lysisInst) {
    lysisInst.on('error', function(message) {
      failed = true;
      if (message) {
        console.log(chalk.red(message));
      }
    });
  
    lysisInst.on('message', function(message) {
      console.log(message);
    });
  
    lysisInst.on('api-start', function(url) {
      console.log('Starting API', '\'' + chalk.cyan(url) + '\'...');
    });
  
    lysisInst.on('api-stop', function(url) {
      console.log(chalk.green('Finished API'), '\'' + chalk.cyan(url) + '\'...');
    });
  
    lysisInst.on('api-error', function(e) {
      console.log(chalk.red('Error for API'), '\'' + chalk.cyan(e.url) + '\'');
      console.log(e.error.message);
    });
  
    lysisInst.on('generator-start', function(e) {
      console.log('Starting generator', '\'' + chalk.cyan(e.generator) + '\'...');
    });
  
    lysisInst.on('generator-stop', function(e) {
      console.log(chalk.green('Generator finished'), '\'' + chalk.cyan(e.generator) + '\'');
    });
  
    lysisInst.on('generator-error', function(e) {
      console.log(chalk.red('Error for generator'), '\'' + chalk.cyan(e.generator) + '\'');
      console.log(e.error.message);
    });
  
    lysisInst.on('generator-not-found', function(err) {
      console.log(
        chalk.red('Task \'' + err.generator + '\' is not in your lysis file')
      );
      console.log('Please check the documentation for proper lysis file formatting');
      process.exit(1);
    });
  }
docs: Wire up logging events