encapsulate PrimitiveTriple fields so we can change things later and prevent anyone from using them now