this project used MVP pattern (see http://www.object-arts.com/docs/index.html?modelviewpresenter.htm)