Извините, но я не понял, чем ваша реализация событий лучше стандартных событий C#? Вы делаете в принципе то же самое, но в вашей реализации приходиться дополнительно реализовывать Event Aggregator, постоянно пополняя его новыми событиями, а при использовании стандартных событий он не нужен.
Оставлю, пожалуй, ссылку на официальный урок по событиям от сайта Unity.
Печально читать про такое отношение к тестировщикам. Подозреваю, что и программисты в таких компаниях испытывают трудности, и «не фиксят баги» и «не прислушиваются к советам» просто потому, что у них тоже завал по задачам и переработки.
Что случилось, то случилось. И мы не знаем точно, как бы все могло случиться по-другому. История IT богата правильными и ошибочными решениями. Знаком копирайта лишь показал, что фраза не моя.
Да, программисту нужно постоянно учиться) И в написании своих велосипедов нет чего-то ужасного — это приучает самостоятельно решать поставленные задачи, а не просто копипастить готовое решение. Продолжайте учиться — и проекты будут получаться все лучше.
Оставлю, пожалуй, ссылку на официальный урок по событиям от сайта Unity.