I can get what I want with the execute function. But run seems to be a more semantic interface.
Perhaps the run function can return a tuple like Future<(int?, Uint8List)> (that's exactly what I'm doing now). It's a bit frustrating to have to use execute when you need to determine whether an command was executed successfully.
Just a suggestion.