Parent classes for implementing MVC architechture