report(kind, args=[]){
    const c = this.chalk;
    const ct = c.bold.green('>');
    const ds = c.bold.yellow('>');
    const w = ":warning:";

    const kinds = {

      'instr-start': `\n${c.bold('Instrumenting for coverage...')}` +
                     `\n${c.bold('=============================')}\n`,

      'instr-item':    `${ct} ${args[0]}`,

      'istanbul': `${ct} ${c.grey('Istanbul reports written to')} ./coverage/ ` +
                        `${c.grey('and')} ./coverage.json`,

      'command': `\n${w}  ${c.red.bold('solidity-coverage >= 0.7.0 is no longer a shell command.')} ${w}\n` +
                 `${c.bold('=============================================================')}\n\n` +
                 `Instead, you should use the plugin produced for your development stack\n` +
                 `(like Hardhat) or design a custom workflow using the package API\n\n` +
                 `> See https://github.com/sc-forks/solidity-coverage for help with configuration.\n\n` +
                 `${c.green.bold('Thanks! - sc-forks')}\n`,
    };

    this._write(kinds[kind]);
  }
Writes a formatted message via log
@param  {String}   kind  message selector
@param  {String[]} args  info to inject into template