Most of this method snagged from `field_dropdown`, any high-priority DRYing opportunities in here?