Small optimization: check event_type first