extend BeanListener with destroy