def setup_signals
      Kernel.trap('INT')    { Thread.new { @shutdown.call(Signal.list['INT']) }.join }
      Kernel.trap('TERM')   { Thread.new { @shutdown.call(Signal.list['TERM']) }.join }
      unless RbConfig::CONFIG['host_os'] =~ /mswin|windows|cygwin/i
        Kernel.trap('HUP')  { Thread.new { @reload.call }.join }
      end
    end
def setup_signals
      Kernel.trap('INT')    { Thread.new { @shutdown.call(Signal.list['INT']) }.join }
      Kernel.trap('TERM')   { Thread.new { @shutdown.call(Signal.list['TERM']) }.join }
      unless RbConfig::CONFIG['host_os'] =~ /mswin|windows|cygwin/i
        Kernel.trap('HUP')  { Thread.new { @reload.call }.join }
      end
    end
the global nature of this seems at odds with it calling stop
 within a single coordinator instance. Coordinator is essentially
 a singleton anyway...