Minor refactor and add recursive getField.