Make immutable copies of objects in private constructor