work event create/destroy impl