Currently the ComplexSerializationEnabler is used by the TypePipe to make the generated proxies serializable (without the need to save the generated types to disk).
There is no built-in support to make additional types serializable, i.e., it is the participants responsibility.
For example, the re-mix participants does just that. Unfortunately that means doing very similiar stuff to what is already implemented in the ComplexSerializationEnabler.
Therefore refactor ComplexSerializationEnabler, so that participants can use it as infrastructure.
Search for TODOs.