A helper class that implements the traits interface for multiplicative groups.
Assumes existence of identity, operator* and inverse method