DRY refactor (event)