Honestly the more I review this code the more I think this code of block (the thread work) inside the start_handler make code less readable. Maybe would be a good idea to move it to an instance method and just do something like:

```
    # Sometimes you just have to do everything yourself. 
    # Declare ownership of this hop and spawn a thread to monitor it.
    self.refs = 1
    ReverseHopHttp.hop_handlers[full_uri] = self
    self.monitor_thread = Rex::ThreadFactory.spawn('ReverseHopHTTP', false, uri) do |uri|
      monitor_work(uri)
    end

```

```monitor_work``` would be the instance method doing the monitoring work whitch the thread is supposed to do. Thoughts? Maybe something is wrong with this idea ! Just exposing, probably you would like to listen some ruby-fu from @jlee-r7 or @limhoff-r7 here :P