Return a Vector3D object whenever modifying one
Replace direct field modifications with method invocations