Reorganized with Model, Update, and View style.