private void NotifyListeners_Update() { foreach (SceneListener listener in sceneListeners) { listener.SceneUpdated(scene); } foreach (KeyValuePair <ActorListener, Actor> entry in actorListeners) { // which actor is that? ActorListener listener = entry.Key; Actor actor = entry.Value; if (actor != null) { listener.ActorUpdated(actor); } } foreach (KeyValuePair <DeviceListener, Device> entry in deviceListeners) { // which device is that? DeviceListener listener = entry.Key; Device device = entry.Value; if (device != null) { listener.DeviceUpdated(device); } } }