a javascript best practice framework with AOP and dependency injection