My main guide was a blog you recommended:
http://psy-lob-saw.blogspot.co.uk/2012/12/atomiclazyset-is-performance-win-for.html

If you wish, I can eliminate all lazySet calls so there won't be any visibility concerns.