If you added 3 art objects, and set the index_offsets manually:
local slot1 = fe.add_artwork("snap", 0, 0, 100, 100);
local slot2 = fe.add_artwork("snap", 0, 100, 100, 100);
local slot3 = fe.add_artwork("snap", 0, 200, 100, 100);
slot1.index_offset = -1;
slot2.index_offset = 0;
slot3.index_offset = 1;
You'll notice that the fe automatically updates the artwork based on the offset when you move "up/down" the list. 0 - the middle artwork will always be the selected one.
However, if you are moving objects ( animating ) - something like slot2 going to slot1, you'll need to be a little more tricky and use a transition callback. When Transition.ToNewSelection occurs you are provided with var which is the index_offset you are moving to. Based on that, you'd need to update each objects x/y/w/h to move to the new location, update the .index_offset accordingly and/or use .swap() since your slots "moved".
That can get a little complicated which is why conveyor is there to help out. SimpleArtStrip extends conveyor. Rather than "flip cards" though - it just animates movement of the artwork objects, swaps textures and updates index_offsets where appropriate.
Depending on how complicated your flip cards might be, I'd play around with Conveyor/SimpleArtStrip and take a good look at what it's doing behind the scenes. If you are just using single artwork objects for your cards, you might be able to use those directly but ideally you can extend Conveyor/ConveyorSlot as a custom FlipCard/FlipCardSlot classes that would handle updating positions, sizes, textures and index offsets of each of your objects when appropriate when ToNewSelection occurs.
Hope that helps.