Currently, messages fail based on their text content--specifically, if it contains the string "fail":

```javascript
    var simulateFail = /fail/i.test(text);
```

This was how the mock behaved prior to this patch, and I feel it is preferable to random failures because it allows developers to control the outcome of the operation.