Split into core, xml, and json modules.