Из статьи вы узнаете:
- Как хранить в одном контейнере разные типы и использовать тип в качестве ключа контейнера
- Как средствами метапрограммирования удобно сериализовать и десериализовать разнотипные объекты
- Как сделать универсальный запускатель функций, который будет запускать любую функцию и сам искать, откуда «добыть» эти аргументы
- И главное, как сделать интерфейс для написания пайплайна обработки события — удобный и полностью изолированный от инфраструктуры