The controller usually handles the user interaction, it takes the mouse and keyboard inputs from the user and sends it to the model. It also sends the updates to the model to update its state. The controller is the interface between the view and model.