https://yunielacosta.com/posts/es/d-the-dependency-inversion-principle/