I am abstracting out the underlying session storage mechanism, not necessarily the schema. I agree that storing data in arrays is very opaque and subject to key errors, and functions would be preferable.