MVC-like framework