Split large API into separate classes.
More consistient module name.
Add some comments.
Merge pull request #100 from lucassus/refactor-api

Bad code climate for the API