If it wouldn't cause world save incompatibilities, I'd rip the entire system out of the core.
Storing data arbitrarily can be done with the new core Persistence class.
It basically adds a fourth type to core serialization: Items, Mobiles, Guilds and CustomData.
CustomData is an object that implements the generic serialization pattern and exposes Serialize(GenericWriter writer) and Deserialize(GenericReader reader) as overridable methods for the purposes of storing arbitrary data without the hassle of writing the IO yourself.