add mulit event callback support