Refactor example app to support testing nested values.
Add test to confirm that the session is only persisted if it changes.
Use getContainer() instead of accessing field directly. Fixes #49.