Try using a didSet on each of the AppStorage fields. This can either:
immediately call updateAvailableWords whenever there's a change
set a flag indicating that availableWords is out of date; make availableWords a computed property that updates itself only if that flag is true
Also, I would make availableWords private(set) - external clients should not be manipulating it directly.
Topic:
UI Frameworks
SubTopic:
SwiftUI
Tags: