Added timeouts and returning Futures now.
Updated timeout to include ReaderTimeout.