class_name Watcher signal changed() var currentState = null func _init(initialState): currentState = initialState func setState(newState): if newState != currentState: currentState = newState changed.emit()