FEATURE: support serializing user custom fields by plugins
correct state leak