Replace getUserData()/setUserData() with CustomEvents