Hmm... actually calling `replicant` should not affect the original `mod`, but could take some time since it's `dup`ing a lot of variables, so it's probably better to move it into the thread.

```ruby
thread = framework.threads.spawn("CheckHost-#{ip}", false) {
  instance = mod.replicant
  instance.datastore['RHOST'] = ip.dup
  instance.check_simple
}
@tl << thread
```

The `ip.dup` is still necessary in case any of the code that uses `'RHOST'` uses mutators like `strip!` that would modify the `String` object instead of just replacing it in the data store.