This commit outsources session attribute storage to it's own class. There are two concrete implementations, one with structured namespace storage and the other without.