Но что если мы берём монобехэвиоры, которые работают с сущностями немного иного порядка, нежели контроллеры? Вот, скажем, какой-нибудь скрипт, который проигрывает аудио. Или выводит текст. Он должен, по идее, просто получить текст/аудио, вывести его с нужными параметрами и, может, сообщить, когда текст уже полностью на экране (если мы делаем побуквенный вывод, например) или когда аудио закончило проигрываться (в Ten-Hut это как раз надо). Не будет же скрипт-аудиоплеер сам стучаться в, скажем, контроллер состояний игры? Аудиоплееру вообще не нужно знать, что в проекте существуют какие-то там состояния, а тут ему придётся чуть ли не самолично в их контроллере методы вызывать. Чтобы не делать прямой вызов, монобехэвиор мог бы запустить внутри себя какой-то ивент, на который другие смогли бы подписаться, но, в отличие от контроллеров, он-то через синглтон не раздаётся. Т.е. ивент он, конечно, запустит, но подписаться на него никто не сможет.