I personally would suggest the state method. I think it is the most standardized and dynamic way of fixing moonwalking. Also it's a good way to solidify variable control to your skill set, if it isn't one already. Here's a little lengthy description of it that I wrote for a new user.
http://game-editor.com/State_MethodThe main idea behind it is you use a variable to hold what the actor is doing (such as running, standing, jumping) and in any event that would change its state, you use a switch statement. That way, you can say if the actor is running when you press attack, you can make it do something different than if it were standing.