execution engine should use generic Client instead of TransportClient