I know I've got a long road ahead of me. I'm committing my work so far for future reference and so that I can check for CI failures.