def initialize(opts = {})
redirect_output( opts.fetch( :runner_log_file ) { DEFAULT_LOG_FILE } )
reg_trap_sighup
@io = opts.fetch(:io) { raise "No IO Object" }
@verbose = opts.fetch(:verbose) { false }
@event_listeners = Array( opts.fetch( :runner_listeners ) { nil } )
@options = opts.fetch(:options) { "" }
@directory = get_directory
$stdout.sync = true
runner_begin
trace 'Booted. Sending Request for file'
@io.write RequestFile.new
begin
process_messages
rescue => ex
trace ex.to_s
raise ex
end
end