Split invoker to invoker and invokerN

- Eliminate optional argument.
- Remove unnecessary check for `arguments.length`.
- Add unit tests.
Actually it also removes the last argument so that it's not passed as an argument a couple lines down. I'd leave it as it was.