Change storage implementation, add session storage and object storage. Code by James Hutchison