Improved cache by creating a new CacheMatrix object.
Improved controller by splitting it into a front-end controller and a back-end processor which processes the actions.
Updated the main window.