public static IAsyncResult SetTextBlockWithKey(TextBlock control, string key, string defaultText) { if (control == null || key == null) { throw new ArgumentNullException(); } textControls[control.GetHashCode()] = key; return GetTextAsync(key, defaultText, (s) => { lock (textControls) { if (textControls[control.GetHashCode()] == key) { control.Text = s; } } }); }