http://www.ruby-doc.org/core-2.0/Module.html#method-i-attr_accessor