Full OOP MVC.