added ApplicationListener/ApplicationEvent to listen session events