Added pre-compilation of possible key values.  Still working out some bugs in how that works, and figuring out how to get the completer to return to base state after each completed key:value pair in the input