Does this mean that the object is permanently modified to have this prepended module, even after the object has been reset?  That's unfortunate (as I'd really like to restore the object to its original state), but I'm not sure if there's a way to avoid that.

One other issue with this is that you will prepend N modules when N methods are stubbed.  I'd much rather prepend just one module, and then reuse it for multiple stubbed methods.  To facilitate that, you could probably define a custom subclass of `module`:

``` ruby
RSpecMocksPrependedModule = Class.new(Module.new)
```

...and then use that here rather than `Module.new`.  Then it's easy to search through the ancestors to find an instance of `RSpecMocksPrependedModule`, and re-use that module.