A Visualforce controller is a set of instructions that specify what happens when a user interacts
with the components specified in associated Visualforce markup, such as when a user clicks a
button or link. Controllers also provide access to the data that should be displayed in a page, and
can modify component behavior.