Have you struggled with the system because it was hard to change? Have you wanted to upgrade Framework or PHP version, however it required to many changes to make it? Or maybe you are starting new project and you would like avoid such situations? In this article we will be