the idea is to use an interface to avoid tight coupling between
components and to follow the MVC pattern.