Add tests and a CI so we can be confident changes do not break users code.
Add tests and a CI so we can be confident changes do not break users code.