Streamcontroller react to locationchange

Our search is happening via setting the 'q' route parameter.
Our stream search has not reacted to it so only the default handler was fired, performing a page search.

Now we send a message to the backend via websocket and we get back the new search results from the backend. (As Expected)

Fix #1618
This is a dupe of the setup performed on line 17. Could you wrap up both instances in a helper function.