## mini-framework Now that you have already used a framework of your choice, you must now implement some features on a framework of your own. That's right, you are going to create a framework. Be aware that a framework is different from a library. When you call a method from a library, you are in control. But with a framework, the control is inverted: the framework calls you. ### Objectives Your framework should implement: - Abstracting DOM - Easier Routing - State Management - Event Handling ### Instructions Your framework will be tested by using it, like you previously have used one, in the social network project. So the user has to be presented to a folder structure that when executed `npm start` at the root of the folder, it runs the app. The user testing your framework will have to implement some simple code in order to test the features described bellow. #### Abstracting DOM You will have to implement a way to handle the DOM. The DOM can be seen as a big object, like in the example below: ```html