Model View Controller and the Observer pattern