def start config={}, &block
      @config.update(config).update(load_config)
      #@config = (config.empty?) ? load_config : config
      log "Starting #{name} in the background.."
      logfile = get_logfile(config)
      daemonize(logfile, get_pidfile(config)) do
        yield(self) if block_given?
        trap('TERM') { handle_exit }
        trap('INT')  { handle_exit }
        (respond_to?(:__start!)) ? __start! : perform(@config)
        # If this process doesn't loop or otherwise breaks out of 
        # the loop we still want to clean up after ourselves
        handle_exit
      end
    end
def start config={}, &block
      @config.update(config).update(load_config)
      #@config = (config.empty?) ? load_config : config
      log "Starting #{name} in the background.."
      logfile = get_logfile(config)
      daemonize(logfile, get_pidfile(config)) do
        yield(self) if block_given?
        trap('TERM') { handle_exit }
        trap('INT')  { handle_exit }
        (respond_to?(:__start!)) ? __start! : perform(@config)
        # If this process doesn't loop or otherwise breaks out of 
        # the loop we still want to clean up after ourselves
        handle_exit
      end
    end
Starts the Djinn in the background.