Managing State in Stateless Systems: Sessions and Caching — Programming Keynou