Aspect-oriented framework for JavaScript