Avoiding conflicts with other modular gems

Since the mains core classes were being patched it could conflict with other modular implementations.
Using the [Open Closed principle](http://en.wikipedia.org/wiki/Open/closed_principle) we ensure no break will happen.
Unused method argument - `options`. If it's necessary, use `_` or `_options` as an argument name to indicate that it won't be used. You can also write as `all(*)` if you want the method to accept any arguments but don't care about them.