Split field-specific code into its own module