Add Promise support to Transport classes