Symfony2 inspired dipendency injection container in pure JavaScript