class Manager {

    @VisibleForTesting
    static Args parseArgs(String[] argsParam) throws Exception {
        if (argsParam.length == 0) throw new IllegalArgumentException(Args.INVALID_ARGUMENTS);
        if (!commandExists(argsParam[0])) throw new IllegalArgumentException(INVALID_COMMAND);

        return new ManagerArgs(Arrays.copyOfRange(argsParam, 1, argsParam.length));
    }

    public  Manager(Args args, String commandName);

}