Alteration to variable scoping and minor changes to accessor methods

Class variables such as `@@some_var` are set in one class, but subclasses can change that value. In other words, superclasses and subclasses share class variables. Ruby can use instance variables on the class level and those are scoped to the individual class.

This requests makes a change to remove class variables and replace them with instance variables on the class.

Additionally, some simple methods were made `attr_accessor`.