Since CDI-1.1 the container has to fire @Initialized(ApplicationScoped.class), @Initialized(RequestScoped.class), etc. The same is needed for @Destroyed.
But if an application doesn't use e.g. @Initialized(RequestScoped.class) at all, then we also do not need to fire this event.
So we should detect at bootstrap whether those events get used in the customer application at all (BeanManager#resolveObserverMethods) and suppress firing those events if not needed.