Move types to their own files.
Add naming convention support to Deserializer.