As for persisting session data-- I guess the idea is that storing or retrieving the session object doesn't need to be async because it is just an object in memory corresponding to a cookie in the request. However, writing to or reading from the session could definitely require async methods that talk to a back end store. This could potentially be one area where implementing a component with an interface like `IRedisSessionStorage` might be useful (get session synchonously from request passing in IRedisStorage, then call `storeThingInSession()` which returns a deferred).