public void AddMessageEventListener(string eventName, Action<string> action)
{
Debug.Assert(!InvokeRequired);
if (_knownEvents.Contains(eventName))
return; // This browser already knows what to do about this; hopefully we don't have a conflict.
_browser.AddMessageEventListener(eventName, action);
_knownEvents.Add(eventName);
}