Note that we're not really using it yet; I'm just refactoring and adding new code, working in small steps.