This will be a key followup to #11 to make it a reasonable user experience. For that reason it'll be our first example of #13.