First cut at half of ProductModel.isAccessible(). It's sloppy and only handles half the cases, but all the tests pass.