Optimize the MVC components to make it more canonical