Add action execution listener and support declarative way