It's a delight to help a project come together, don't worry. :)
This may be an incomplete answer but the first thing that stood out to me is that you need to give the "full address" of a widget, when you're referring to it in the deck-level script. Like this:
aspecificcardname.widgets.coins.value
Though you can also make it easier to write by defining a shortcut for that full path in the deck-level script and then using that shortcut:
coins:aspecificcardname.widgets.coins coins.value:coins.value+1
(You may have set something like this up already, but if not then this is the first thing I'd try)