Thanks for the thorough explanation. FYI lazy vals can impact on performance. I profiled Play a while back and their liberal usage was causing contention. There is a mutex involved. However I do not think it'll be an issue here.

BTW: YourKit is great for snagging lock contentions. :-)