I agree. There's no good option, and neither IMO is better than what we have. Option 1 above is not good because it does expose too much. Option 2 is not good because if we have to maintain **some** properties in these BOMs, then we may as well maintain all of them.