public static void AddRoomVisitedInvoker(IRoom roomVisitedInvoker) { // add the new invoker to the list of invokers roomVisitedInvokers.Add(roomVisitedInvoker); // ensure that all existing listeners are added to this new invoker foreach (UnityAction <IRoom> listener in roomVisitedListeners) { roomVisitedInvoker.AddRoomVisitedListener(listener); } }