I tried to infer usage from the source code but it isn't as straightforward. Would be good to add some usage examples in the README for volatile and persistent, and maybe best practices.