Port the Scheduler abstraction to Ruby.
Split part of Dispatcher#sendMessage() out into an internal private method sendEnvelope() and have handleError() call that. This makes more sense than recalling the public sendMessage() method with the message and timeout just to have to re-lookup the envelope.