Maybe 'ViewModel' is the wrong name, but I like all this search-specific code here. `Operators.coffee` was getting unwieldy.