A lot of changes.

- Refractored code.
- Proper documentation.
- Added an API.
- Config now use Skyoconfig.
- Now respecting the Java's convention for fields' names.
- Others small things...