The current tree implementation requires the session to store the TreeExpansionModel. As with most of you, I like to avoid using the session wherever possible to improve scalability and to avoid issues when a user opens multiple browser windows for the same page. In my mind, the TreeExpansionModel doesn't need to be stored in the session. It could be serialized as a string (comma separated list of expanded id's) and passed in each request / response.
Thoughts?