Using DestructionAwareBeanPostProcessor, I *think* I fixed the problem
where prototype-scoped listener beans to cause memory leaks.