Move all module code below a new src/ directory
Add a bunch of tests