Renamed SetAsync to SetEventsAsync to avoid conflicts with user structures
Added dynamic mode and error handling