code: private void onComponentEvent(ComponentDescriptorEvent componentEvent, ComponentManager componentManager,
          ComponentDescriptor<EventListener> descriptor)
      {
          if (componentEvent.getRoleType() == EventListener.class) {
              if (componentEvent instanceof ComponentDescriptorAddedEvent) {
                  onEventListenerComponentAdded((ComponentDescriptorAddedEvent) componentEvent, componentManager,
                      descriptor);
              } else if (componentEvent instanceof ComponentDescriptorRemovedEvent) {
                  onEventListenerComponentRemoved((ComponentDescriptorRemovedEvent) componentEvent, componentManager,
                      descriptor);
              } else {
                  this.logger.warn("Ignoring unknown Component event [{}]", componentEvent.getClass().getName());
              }
          }
      }
docs: A Component has been modified (added or removed) and we update our cache of Event Listeners if that Component is
  an Event Listener.
  
  @param componentEvent the event about the Component being added or removed
  @param componentManager the {@link ComponentManager} where the descriptor is registered
  @param descriptor the descriptor of the modified component