https://skonieczny.pl/2007/07/30/domain-model-view-presenter/
Domain Model View Presenter