an Aspect Oriented Javascript based on dynamic dependency injection