Fixed a typo in the build section.
Refactored everything into modules.
Package file improvements and updates.
Bulking up of linting.
Tests galore.