It seems like there's a lot of responsibility the controller currently has. I see this in other places too. How can we minimize this?