A powerful, extensible dependency injection micro container for JavaScript applications