To make editing and refactoring safer: - [ ] Write unit tests to cover the different use-cases - [ ] Ensure tests run when `npm test` is called - [ ] Ensure a failure of a single test will return `npm test` with a non-zero error code