## Description Purpose: learn how to create sandboxed context for modues to separate them and minimize cross-modules code coupling, extracting at least two abstraction layers (applied and system) and how to execute applied code in virtual environment, changing its behavior using IoC from system layer. ## Files * `framework.js` - small piece of the framework, just to demonstrate IoC * `application.js` - small piece of the application, also for IoC demonstration ## How to execute From the command line, type: `node ./framework.js` or `node framework` ## Tasks You may select at least one of the following tasks, make a fork of this repository and implement your solution there. If those tasks are simple for somebody, please see additional tasks below. 1. Add `setTimeout` and `setInterval` to the application context and use them printing something from the timer function using console.log() 2. Inject a link to `util` library into the application context and make a few calls to its functions from applied code 3. Implement the ability to run different applications inside framework, using command line option, e.g.: `node framework ` 4. Wrap or intercept `console.log()` call to add more info into console output in the following format: `