Home brewed MVC