It seems a little awkward having the variable initialized in one place and the reader / writer in another. Can we define the initialize there maybe?