Думаю дело не в ней. В одной реализации он как раз и используется. Но делать поля публичными, или каждое покрывать геттером и сеттером - не оч хочется. Есть вариант нормализер переписать, чтобы он и приватные брал, но есть у меня мнение, что так делают не зря.А что мешает использовать symfony/serializer? Производительность?
Вон, https://github.com/prooph/proophessor-do/blob/master/src/Model/Todo/Event/TodoWasPosted.php - тут каждый эвент эту работу скрывает внутри себя. Я не знаю, видимо для того, чтобы в будущем можно было удалить какое-нибудь свойство, или еще чего сделать, что уронит unserialize... Хотя как говорят товарищи, в этих случаях проще просто новый эвент сделать и юзать его уже, оставив поддержку старого.