C++ Model View Presenter