public void Fire() { listeners.RemoveWhere(action => !action.IsAlive); listeners.ForEach(action => action.Invoke()); }