static getInstance(configuration = {}) {
    return lazyLoadAttribute(this, 'instance', () => new KeyEventManager(configuration));
  }
Creates a new KeyEventManager instance if one does not already exist or returns the
instance that already exists.
@param {Object} configuration Configuration object
@param {Logger} configuration.logger Logger instance
@returns {KeyEventManager} The key event manager instance