create event double dispatcher