code: function boot() {
    if (config === null) {
      // TODO [NSTDFRZN] Be sure nested objects are frozen too
      config = Object.freeze(gatherConfigFromEnv());
    }
  
    ee.emitAsync('booting_backing')
      .then(() => {
        ee.emit('booting');
        ee.emit('booted');
      })
      .catch((err) => {
        ee.emit('error', err); // TODO [ERR2BTERR] Maybe err -> BootError(err)
      });
  }
docs: Boot the kernel to start the application.
  To do that emits 'boot_backing' and
  'boot' events to listeners.
  
  If the kernel wasn't configured so far
  gathers configuration automatically
  from environment variables.