Android Basic Project Architecture for MVP

Great article, thank you for that. Currently I’m also dive deeper into mvp on Android, as well as clean architecture in general. The topic is pretty cool and I see the benefits of keeping your code structured. But there is one think I don’t understand at the moment, why do we have to use so many interface for nearly every class? I like the idea that we have “guidelines” for how to implement a presenter or a model or something else, but to realize that a basic interface for example for presenters or views in general are enough, isn’t it? Especially the blog post of Fernando Cejas and the depending github project uses a lot of interfaces for nearly all of the classes. So I don’t get that point. Do you have any idea why we have to use them so frequently? Thank you for your help in advance.