AOP for JS with before, around, on, afterReturning, afterThrowing, after advice, and pointcuts