Widget values as positional arguments

Extends #6566 with a couple of fixes that have been holding it up from getting merged.