Make searching an asynchronous process. * When a search is initiated, interstitial UI should be displayed that the search is running. * Results should be streamed in and shown as they are discovered. * Search should be able to be canceled.