Command.exec() and Command._run() should give consistent input to *.run()
Currrently, depending on the type of processing (MULTI or LOOP) input arguments are passed in different formats to run() methods of Command's child classes.
Moreover, the Command interface is not explicit in saying what kind of input is expected to be passed to exec(), and how it is transformed to be passed to run()