- Use Moo and Type::Tiny instead of Moose.
 - Make this class have immutable attributes.
 - Remove test code from the core module.
 - Lots of documentation edits.