hunk.code_window:   install () {
       const target = this.opts.target
       const plugin = this
       this.target = this.mount(target, plugin)
     }
   }
hunk.labels: keep keep keep keep add keep
hunk.after_edit:   uninstall () {
       this.unmount()
     }
  
hunk.file_path: src/plugins/FileInput.js
hunk.type: add
file: const Plugin = require('./Plugin')
  // import deepDiff from 'deep-diff'
  
  /**
   * Magic Log
   * Helps debug Uppy
   * inspired by https://github.com/yoshuawuyts/choo-log
   *
   */
  module.exports = class MagicLog extends Plugin {
    constructor (core, opts) {
      super(core, opts)
      this.type = 'debugger'
      this.id = 'MagicLog'
      this.title = 'Magic Log'
  
      // set default options
      const defaultOptions = {}
  
      // merge default options with the ones set by user
      this.opts = Object.assign({}, defaultOptions, opts)
    }
  
    install () {
      const uppy = this.core.emitter
      uppy.on('state-update', (prev, state, patch) => {
        console.group('State')
        console.log('Prev', prev)
        console.log('Next', state)
        console.log('Patch', patch)
        console.groupEnd()
      })
    }
  }
  