Initial code review

@evanstade Please review.  Hopefully the pull request flow will let you add comments.
nit: can we avoid the abbreviation here, always using requestAutocomplete()