Menu system in a macro using same

I use macro’s extensively in my dialplan but I want to add a menu to it.

The examples I see effectively
play an audio file with background
wait for extension
call the extension to perform the task

Whats the correct procedure in a macro which is using same =>

Example:
same => n,Background(vm-reveiw)
same => n,WaitExten(3)
exten => 1,1,Playback(vm-saved)
exten => 2,1,Playback(tt-weasels)
exten => 3,1,Playback(tt-weasels)
exten => 4,1,Playback(vm-deleted)

I thought there was something I was missing but in this example it looks like I should use multiple gotoif statements.

Do we all agree?