In all callbacks, you will receive a non-constUObject. You are free to modify them. Keep the user's expectations in mind: generally only properties that were selected should change. You should generally ensure that relevant systems are updated.