change observeSend() to support multiple Subscriptions / Retry. Also use timeouts