Would be better if the property setter for alliances_json updated _alliances. Then we don't need to use self.dirty here.