aspect-oriented programming in javascript.