Modernise Things module

The goals of this PR are:

1. Bring the module up to date with more common practices being employed with other modules.
2. Fix the CI build.
3. Bump the version and allow it to be configured instead of being static.