An article explaining how to build lazy accessors, similar to attr_reader, into Ruby using a bit of meta-programming: https://www.gregnavis.com/articles/lazy-attributes-in-ruby.html