Cleanup

As stated on API problem, create factories and rename the options to use underscore_separated convention.

When you merge, can you add a few comments about the two keys of the config? I'm not sure about what they are doing (and the format to 'selectors' key seems a bit hard without any doc :o).

In the factories, I'm not sure it's that useful to test for "has" for the Config key. I think we can remove that no?