Base component which pulls a message off the queue before performing the work, useful
when progress reporting is needed as some messaging endpoints will lock the session
until the message consumption is complete and progress replies can not be sent.
Sends the given request message to the configured queue and waits for its reply,
returning a Future object that will contain that reply once available.