Template.features.helpers({ features: function(){ var features = Features.find({charId: this._id}); return features; }, hasUses: function(){ return this.usesValue() > 0; } }); Template.features.events({ "tap #addFeature": function(event){ var featureId = Features.insert({name: "New Feature", charId: this._id}); GlobalUI.setDetail({ template: "featureDialog", data: {featureId: featureId, charId: this._id}, heroId: featureId }) }, "tap .containerTop": function(event){ var featureId = this._id; var charId = Template.parentData()._id; GlobalUI.setDetail({ template: "featureDialog", data: {featureId: featureId, charId: charId}, heroId: featureId }); }, "tap .useFeature": function(event){ var featureId = this._id; Features.update(featureId, {$inc: {used: 1}}); }, "tap .resetFeature": function(event){ var featureId = this._id; Features.update(featureId, {$set: {used: 0}}); } });