When a HasProperties instance is copied, if it has a properties.Instance it looks like the class is being assigned based on the instance_class rather than the __class__ (https://github.com/lheagy/casingSimulations/blob/master/casingSimulations/mesh.py#L44) is being assigned rather than the
