@label: does not change when button toggles

The issue is that Opus buttons aren't necessarily just a sequential list of commands that are processed one after the other. Some @ directives, like @label, are completely ignored when the button is actually run. Instead they're processed separately at other times as part of the dynamic update system.

When that happens, other lines (those that actually form part of the command that is run when you click the button) get skipped.

This is why we have @evalalways - it lets you provide evaluator code that's processed in both cases (during dynamic update and when the button is run).