moved event creation over to worker