Double layered sprite

Okay so I have my hero character.
I want the bottom sprite to be their armor animation.
I want the top sprite to be their hands holding a weapon.
That way the player can pick any combination of armor and weapons they want.
I need these 2 sprites to be “locked” to each other. So that the animation between the 2 layers creates one seemless character.
Does anyone know how to do this?
Or maybe an easier method that would get the same result?

Make two sprites and make a conditionless event that sets the position of one of them at the other’s x and y positions.

But what if I want the sprite to move?
Think isometric rpg.
I figured out a way to get them linked. But now I’m experiencing a bug where the top layer will move when the bottom layer collides with other objects and then the top layer snaps back to the bottom layer once there is no collision

You can lock one to the other one, or you can also lock the two of them to a third item (invisible or not). This third item could be used as hitbox for instance, or used to handle all actions (the behavior(s) would be linked to that item).

I eventually figured out something along those lines. Thanks for the help!