Changes

I will leave comments in the Diff in regards to other parts I just disagree with.
Wanted to be clear as this pattern happens often in monkey-patching:

```ruby
class Mongoid::Base
  # .. some patch
end if defined?(Mongoid::Base)
```