refactoring the components into their own classes, putting everything inside a module, version bump.
rubocop cleanup