First pass at copy method for all property classes
Fill in copy methods on remaining properties
Ensure base classes have protected copy constructor.

This prevents corruption due to slicing.
Ensure entities cannot be copied.