So you suggest I add an ```__init__``` to the SimpleSearchForm that would take an optional session, and an optional ```search_cat```, and then move the logic there?

To be honest, I find it better the way it is:
- a form is used to deal with data passed in, why should it bother with a session?
- the helper already receives the request, and it's a perfect place to use it, and format the data for the form

What do you think? Am I being to stubborn on this topic?  It wouldn't be much work to change it, but really, it feels a bit weird to me.