Make some methods protected to allow apps to override behavior if needed
Add tests for to-one associations; test cleanup