Split up field rendering

The switch is getting a bit big now so time to split it up.