Lots, I mean a ton, of UX interactions can be handled with a single step and commit. Since the interaction technically requires two steps, a script is required.
If we had the option to automatically commit after "the step", right in the button setup, it would save a lot of unnecessary scripting. We see something similar in the dialog step, so this seems pretty reasonable.
Note: This behavior should default off for backwards compatibility. There are plenty of buttons that I do not want performing a commit.