ProductMessage, ProductMessageField abstract classes