Clean separation of concerns Model – maintain the data View – content presentation Controller – handle user interaction with model