updates an objects rotation relative to the rotation of some controlling object
If the controlller move 30 degrees around z then so will the gripped object
RotationalOffset = GrippedObject.transform.rotation * (Quaternion.Inverse(Controller.transform.rot) * lastRotation);
GrippedObject.transform.rotation = Controller.transform.rot * RotationalOffset;