Use has_one associations, attr_accessible should be implemented by user, and more robust tests