> BTW, is the method_defined? || private_method_defined? check in place because an error (or some other problem) would occur if we set the visibility here when that expression evaluates to false? Or is it there simply because it defines the only case where you think we need to set the visibility?

It's to avoid an error where we're stubbing a method that didn't originally exist.

e.g.,

```ruby
foo = double
foo.stub(:bar) { :baz }

foo.rspec_reset # calling `public :bar` after removing the method would be an error
```

I'll go about removing the string interpolation as much as possible!