I do this: on('change:attribute:current', function(obj) { log('Character changed: ' + obj.get('name')); }); And when I do this: var attr = findObjs({ type: 'attribute', characterid: character.id, name: 'myAttribute' })[0]; if (!attr) { attr = createObj('attribute', { name: 'myAttribute', current: false, characterid: character.id }); } attr.set('current', !attr.get('current')); Nothing happens. I verified that the attribute is changed on the character. I also tried using the 'change:attribute' event but that didn't do anything either. What am I doing wrong?