Currently we only have a single WebBeansConfigurationListener. The CDI Listener should be the outermost in the chain. The problem is that the order in which the Listeners get called is per Servlet Spec (a clarification foo) is the same for every event. There is no difference between all the init* and destroy* events.
So if you have multiple Listeners in your app then we can only guarantee that the CDI Listeners init* methods get called first but not the destroy methods.
For that to work we need to split those methods in a BeginWebBeansConfigurationListener and EndWebBeansConfigurationListener.
The current WebBeansConfigurationListener should simply delegate to those 2 for backward compatibility.