Yep, we use the container instance as a lock to ensure all the container lifecycle observer methods are called sequentially and also to ensure @Initialized(ApplicationScoped.class) are called sequentially.