Defining custom classes allows us to use that custom type over and over again even if it's for different things.
For example, in the MainWindow we are instantiating the TicketBooth's BoothFood field to an instance of the Food class.
But we can add a field in the Employee class of type Food as well.
And instantiate it from the MainWindow using the custom Food class.
The Food objects being created for both the TicketBooth and the Employee use the same "blueprint" for structure but use them for different purposes.