Let's break out visualsearch into its own controller.