create basic state flow

Maybe we should always pass the query through as an additional item? Then
the chosen option can be blank when nothing is chosen but the original
input is also always present?