code: def process(argv, scope, interface=None):
      
      cmd = command(argv, scope)
      if cmd:
          sys.exit(cmd.run(argv))
  
      name = PROGRAM_NAME
      if interface:
          name = interface.name()
  
      _parser = parser(scope, '{0} [options] [<subcommand>] [<arg>]'.format(name))
      options, args = _parser.parse_args(argv)
      return options.__dict__, args
docs: Processes any commands within the scope that matches the inputted arguments.
      If a subcommand is found, then it is run, and the system exists with the 
      return value from the command.
      
      :param      argv    | [<str>, ..]
                  scope   | <dict>
      
      :return     (<dict> options, <tuple> arguments)