Embarked on a bit of refactoring toward allowing domain objects below the repo layer.