The structure of websites tends to be very different from other programs. The code is basically just sitting there waiting for you to hit it, and then it needs to figure out what page to return.

This Event Driven approach is unique, but it gets even weirder because it is also Stateless. The code doesn't actually remember who you are or who I am. It just reacts to events. In fact if you try to give it a state, like saving a user-specific variable, it will probably break.The backend for this site is being run by four different "Workers". Each time you visit the site you get one of these random workers that runs the code. That worker probably wouldn't have anyuser-specific variable that was saved on only one of the four workers.

So designing the backend to a site is all about using events and a limited amount of information to try to figure out WTF is going on. Deciding what you should, or should not, be showing the site's visitor for the specifically requested URL. This necessitates acode structure that is entirely unlike any other common code pattern.

But yes, that does include making classes when you need bespoke or complex objects.