Complex component persistence.

Probably won't keep it. Converts all components into a data set without
ever needing to know their type. Stroke of genius. Also very slow. I'll
have to revisit it when I get home; there's no real need for it if I can
just use an ORM.