Reduce use of arguments.callee because it doesn't work on the strict mode