void RaiseSpellingChangedEvent(string word)
{
List<WeakReference> referencesToRemove = new List<WeakReference>();
foreach (var dictionaryRef in _registeredDictionaries)
{
var target = dictionaryRef.Target as SpellingDictionaryService;
if (target != null)
target.GlobalDictionaryUpdated(word);
else
referencesToRemove.Add(dictionaryRef);
}
foreach (var reference in referencesToRemove)
{
_registeredDictionaries.Remove(reference);
}
}