Extension of the Properties type that dirties the
persistent/transactional field it is assigned to on modification.
The need to dirty the field on any modification mandates that
this class must override all mutator methods of the base type.
This may lead to multiple calls to dirty for one state
change if one mutator method of the base type calls another.

newInstance

This method should return a new proxy of the same concrete type as the
implementing class. Used by the ProxyManager factories: one
template instance of each type is created for the purpose of producing
new instances via this method. Overcomes the performance
penalties of reflection.