modernize CustomEvents