да полно альтернатив

просто найти надо
использование вашего класса несёт под собой несколько проблем:
1. я НЕ использую его как встроенный EventDispatcher, хотя он выполняет туже функцию.
2. нету типизации, используются динамические объекты.
3. отсутствуют слабые ссылки.
прозрачность работы достигается не тем, что у вас мало кода написано, а тем что сторонний разработчик не должен изучать подозрительные махинации с вашими методами.