As discussed offline (recording here for posterity), instead of deciding where to append or prepend based on the value of `key`, I think you should instead decide based on the length of `query`. This avoids problems like this where the user has navigated into the middle of a font name, but in which the Browse hint remains on top: 
![query](http://f.cl.ly/items/1D2m3y402M3e0E140a25/Screen%20Shot%202013-05-16%20at%203.45.34%20PM.png "query")