Progress towards handling sub-field user input

Checkpoint.  This code is proving fiendishly complex...