AOP for js