Reworking all the interfaces into the MVC design pattern