you need to push all the action steps in one task to the taskQueue:

```javascript
taskQueue.push(function() {
  return SilentSms.enableSilentModeFor(data.smsNumbers, data.type)
    .then(updateUsageSilentSms)
    .then(port.postMessage.bind(port, 'silentSMSEnabled'));
});
```

And it will work fine if TaskRunner works with promises because as you see you just need to return the result of the last `then` :)