More apt naming.
Removed comments.
Refactor into a more modular structure.
Finished modular refactor.
Added unit tests to travis configuration.
Updated usage with new refactoring.