def execute(context)
      cmd       = context[:cmd]
      opts      = context[:opts] || {}
      args      = context[:args] || []
      cmd_args  = context[:cmd_args]
      cli_shell = context[:shell] || shell

      unless cmd.callable?
        return root['help'].call(opts, cmd_args, shell)
      end

      cmd = handle_callable_option(root, cmd)
      cmd.call(opts, args, cli_shell)

    end
def execute(context)
      cmd       = context[:cmd]
      opts      = context[:opts] || {}
      args      = context[:args] || []
      cmd_args  = context[:cmd_args]
      cli_shell = context[:shell] || shell

      unless cmd.callable?
        return root['help'].call(opts, cmd_args, shell)
      end

      cmd = handle_callable_option(root, cmd)
      cmd.call(opts, args, cli_shell)

    end
Executes the callable object in a command. All command callable object
 expect to be called the the options hash, arg hash and shell object.

 @param context [Hash]
 @return [Integer]