You really should put checks for what button was pressed in your 'on_status_change' method.
If button right is triggered
If @index is at last item, then @index = 0, else @index += 1
If button left is triggered
If @index is at first item, then @index = last_item, else @index -= 1
You can see for yourself why your logic is faulty if you get a piece of paper and a pencil, assume @index is 0, and run through your code a few times.
Repeat the process again except now @index is at the last item in the list.