private EventListenerConfig[] CollectListeners(Type type)
{
var collectedListeners = new List<EventListenerConfig>();
foreach (var listenerType in listenersPerEvent[type])
{
var config = Get(listenerType);
if (config.SkipEvent != null && Array.Exists(config.SkipEvent, t => t.Equals(type))) continue;
if (config.Singleton) config.CreateSingletonInstance();
collectedListeners.Add(config);
}
return collectedListeners.ToArray();
}