Adding annotation support instead of the need of implements an interface listener