есть ли способ, которым я могу делегировать всю информацию из различных документов в HudController как его собственный экземпляр?
Это тот случай, когда подходит синглтон. Есть несколько других примеров подобных панелей; Панель шрифтов и Панель цветов работают одинаково. Итак, сделайте ваш HudController синглтоном (у меня есть предложений о том, как лучше всего это сделать ).
Затем HudController контролирует документы на предмет изменений. Детали могут различаться, но вы, вероятно, захотите предоставить открытые свойства класса (-ов) документа, через которые будет осуществляться доступ к модели, а затем попросите HudController наблюдать за открытием и закрытием окон документов; когда это происходит, пусть HudController начинает или заканчивает , наблюдая за этими свойствами соответствующего документа каждого окна.
Пока вы изменяете значения свойств в KVO-совместимом способе, это изменение будет автоматически вызывать уведомление для HudController, после чего вы будете реагировать на изменение, обновляя то, что отображается в окне HUD.