public void EndPhase(Colleague sender)
    {
        if (sender == barManager)
        {
            timeManager.FadeToEndDay();
            musicManager.setCurrentMusicState(musicManager.GetBarFading());
        }

        else if (sender == timeManager) // When the end of day manager has finsihed playing the fade out animation.
        {
            if (!tutorial.IsTutorialOver)
            {
                endOfDaySummaryManager.setEndOfDaySummaryBoardActive();
                barManager.JumpToStarterSeat();
                endOfDayManager.AllPatronsTheBartenderKnows = barManager.AquirepatronManagerInformationForEndOfDayManager();
            }
        }

        else if (sender == endOfDaySummaryManager)
        {
            barManager.setBarState(barManager.barManagement());
            barManager.DisableAllUi();
            timeManager.fadeInText();
            musicManager.setCurrentMusicState(musicManager.GetMenuSetting());
        }

        else if (sender == endOfDayManager)
        {
            barManager.EnableAllUI();
            barManager.setBarState(barManager.noOneInteractedWith());
            mapManager.TimeProgressesForQuests();

            timeManager.incrementDayCount();

            for (byte i = 0; i < mapManager.QuestingPatrons.Count; i++)
            {
                if (!mapManager.QuestingPatrons[i].IsOnQuest)
                {
                    barManager.SendAdventurerHome(mapManager.QuestingPatrons[i]);
                    mapManager.removePatronFromQuestingList(mapManager.QuestingPatrons[i]);
                    i--;
                }
            }
            barManager.checkIfAdventurersShouldSpawn(mapManager.areThereAnyAdventuresForPatrons());
        }

        else if (sender == battleReportManager)
        {
            UnlockContent(battleReportManager.UnlockersToRedeem);
            barManager.setBarState(barManager.dismissPatron());
            battleReportManager.clearUnlockLists();
        }

        else if (sender == mapManager)
        {
            barManager.SelectedSeat.IsPatronGoesOnQuestDeciderActive(false);
            barManager.SelectedSeat.TalkWithPatron(); // hacky, tells our patron to deliver text after being sent out, I would rather see this in IbarStateManager, but it has to go here, because map obstructs text box.
            barManager.SelectedSeat.patron.IsOnQuest = true;
            Debug.Log("The adventure map is closed");
            barManager.setBarState(barManager.dismissPatron());
        }

        else if (sender == rumorBoard)
        {
            barManager.setBarState(barManager.dismissPatron());
            SoundManager.Instance.AddCommand("SelectQuest1"); // TODO: Randomize this command
        }
    }