Implementing equals and hashcode on some lower-level objects, removed
clone methods from same