add functionality to allow for sessionStorage or other arbitrary storage in an object