Abstracting transports to a remote API