aop for javascript