Easy to setup gem

I added some features to enable a more simple and easy setup:

* An easy to setup gem, throw the possibility to have uncommon/standard path names for configurations and inputs (throw a config file)
* Added some more resilience throw more test in rspec.
* Added some generalisation throw dependency injection.
I see It can be a bit confusing, but its how let works for different context, and not repeating yourself ... how would you write it otherwise ?