Ok, now I remember why I didn't do it.
I couldn't get the PropertyDrawer to work (EventDelegateDrawer). Unity's SerializableProperty can't serialize "object" type fields. It has to have an explicitly recognized value such as int, float, Vector3, etc.
So in order to get this to work, the EventDelegate.Parameter would need to have fields for all the types Unity understands -- string, int, Color, all of them. One for each. Only then is it possible to get them serialized. Of course doing so also bloats the size of the data dramatically, which is why I didn't do it.
If I'm wrong, and you somehow manage to get it to work with just an "object" field, I'd love to have a look at your implementation.