We use instance vars only:
- in the constructor
- for memoization
For everything else we use proper getters / setters.
If possible those should be private. We use the private_attr for this, e.g.:
private_attr_reader :configuration
private_attr_writer :failure_message
private_attr_accessor :examiner