For DF-GUI, it should be really easy, and I think you're just missing the click listener.
State 1: DFGUI Control Click Event
For this state, you can use owner since you're putting the FSM directly on the button inside UI Root, and then you just need to broadcast the event if it's consumed in another FSM somewhere in your scene. From that, add a transition back to this state with that event so that the DF GUI click listener will pick up any additional clicks.
I usually have 2 states for my buttons though. The first is the listener as described, but then I have another state that plays sounds and then I call events directly and can add additional logic in this state. When it's done, it just transitions back to the first state where it listens for additional clicks.
Hope this helps!