module Async::Container::Supervisor::Dispatchable

def dispatch(call)

def dispatch(call)
	method_name = "do_#{call.message[:do]}"
	self.public_send(method_name, call)
rescue => error
	Console.error(self, "Error while dispatching call.", exception: error, call: call)
	
	call.fail(error: {
		class: error.class,
		message: error.message,
		backtrace: error.backtrace,
	})
end