Vetro
Городить несколько десятков диспатчеров руками такое себе
На самом деле, у всего этого есть решения. Это на совести библиотек, а не компилятора.
И ивенты заспредить можно, и пропсы. Просто почему-то авторы библиотек думают, что надо всегда пользоваться только встроенными инструментами.