a wdialog session manager which stores its session information in a small daemon called the "state daemon". This aproach has many advantages First, Daemon_session supports real concurrency, any number of instances of the applicaiton can run at once. Second, the application need not be a daemon. Third, if the application crashes (even though that isn't likely in Ocaml :P) session state will not be lost, if done correctly users will not even notice that something has crashed, they will simply see a pause in response. Fourth, in contrast with the memory session manager garbage collection is done in parallel, greatly improving throughput.