Sudden thought: Could we perhaps refactor this into an ``self.create_action`` method? Then we could re-use it later for other actions. E.g.

```javascript
self.types.group = function(desc) {
    return self.create_action(desc, function() {
        return self.contact.groups.push(desc.group.key);
    });
}
```