Micro dependency injection and inversion of control container for node and browsers