Use callback instead of trigger for event passing