code: function(plugin, message, opt) {
    opt = opt || {};
    if (typeof plugin === 'object') {
      opt = plugin;
    } else {
      if (message instanceof Error) {
        opt.error = message;
      } else if (typeof message === 'object') {
        opt = message;
      } else {
        opt.message = message;
      }
      opt.plugin = plugin;
    }
  
    return objectAssign({
      showStack: false,
      showProperties: true
    }, opt);
  }
docs: wow what a clusterfuck