Rename base.Session to SessionBag to better convey it's a dynamic session bag. Don't cache SessionAs responses which can change
Move GetSession extension method to first-level method in Service
Refactor to SessionBag