private void AddToListenerDict <P0, P1>(string eventName, Action <P0, P1> handler) { var eventDispatcher = this.eventDispatchers.GetEventDispatcher <P0, P1>(); if (!listenerDict.ContainsKey(eventDispatcher)) { listenerDict[eventDispatcher] = new ValueListDictionary <string, object>(); } if (!listenerDict[eventDispatcher].ContainsKey(eventName)) { listenerDict[eventDispatcher][eventName] = new List <object>(); } listenerDict[eventDispatcher][eventName].Add(handler); }