only invoke event_teardown at the end