I'm trying to learn how to write an app, using Komodo. I used Ares at first, but didn't like being constantly connected. Packaged the app, downloaded it, put it in Komodo, everything was fine.

Changed some code, suddenly, the last button in my app would not work. It looks like it clicks, but it's supposed to change the label to a random number. Doesn't work. It looks like the event is firing, but either the model isn't changing or ... what?

Code:
	setup: function() {
		Ares.setupSceneAssistant(this);

		this.buttonAttributes = {};

		this.controller.setupWidget("wildButton", this.buttonAttributes, this.wBModel);
		this.controller.setupWidget("r1c1button", this.buttonAttributes, this.r1c1Model);
		this.controller.setupWidget("r1c2button", this.buttonAttributes, this.r1c2Model);
		this.controller.setupWidget("r1c3button", this.buttonAttributes, this.r1c3Model);

		this.controller.listen("wildButton", Mojo.Event.tap, this.wildButtonTap.bind(this));
		this.controller.listen("r1c1button", Mojo.Event.tap, this.r1c1buttonTap.bind(this), TRUE);
		this.controller.listen("r1c2button", Mojo.Event.tap, this.r1c2buttonTap.bind(this), TRUE);
		this.controller.listen("r1c3button", Mojo.Event.tap, this.r1c3buttonTap.bind(this), TRUE);
	},

	wildButtonTap: function(inSender, event) {
		// so apparently if I declare the variable inside the function
		// you can't use it for the label
		this.controller.info("numWild initial %S", numWild.toString(10));
		numWild = Math.floor(Math.random() * 10);
		this.controller.info("numWild random %S", numWild.toString(10));
		this.wBModel.label = numWild.toString(10);
		this.controller.modelChanged(this.wBModel, this);
	},
	r1c1buttonTap: function(inSender, event) {
		this.controller.info("original label %S", this.r1c1Model.label.toString(10));
		this.controller.info("passed wB label %S", this.wBModel.label.toString(10));
		numr1c1 = parseInt(this.r1c1Model.label, 10) + parseInt(this.wBModel.label, 10);
		this.controller.info("r1c1 after math label %S", numr1c1.toString(10));
		this.r1c1Model.label = numr1c1.toString(10);
		this.controller.modelChanged(this.r1c1Model, this);
	},
	r1c2buttonTap: function(inSender, event) {
		numr1c2 = Math.floor(Math.random() * 10);
		this.r1c2Model.label = numr1c2.toString(10);
		this.controller.modelChanged(this.r1c2Model, this);
	},
	r1c3buttonTap: function(inSender, event) {
		// XXX: this has stopped working
		numr1c3 = Math.floor(Math.random() * 10);
		this.r1c3Model.label = numr1c3.toString(10);
		this.controller.modelChanged(this.r1c3Model, this);
	}