Changed Command.execute(args) to Command.execute(args, writer) so we can report partial progress