I think we should refactor and avoid caching the KS.. there is no reason to do so. I think caching the KS was the result of thinking we had to do a separate request for the ks? ... in general ( anonymous views ) we don't, we can just pass a session init as the first argument , and back reference it in the multi-request for the rest of the request actions. ( like we do for our javascript api ) 
When its an admin ks, again we don't really want to cache it either.