Object's Child Object Position

I am using empty objects as ‘sub coordinate systems’ (i have this question mentioned in a different post, thought it’d be good to start its own topic), I am trying to move objects when they are clicked etc. But it seems the getPosition grabs the object’s position relative to its parent, but when I try to set or adjust its position, it seems to snap to the global coordinate system. So it snaps to an unexpected location, no longer relative to its parent. Is there different ways of doing this that will maintain this parent/child positioning? I hope this makes sense, if not, you can see where ive mentioned it: