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.