Improved version of using CDI to implement decoupled observer pattern