I'm making a Love2D board game video game, which has multiple different components which need to be run and displayed on the screen at the same time. For example, I need to display the board, the characters, and the UI. Ideally, I would like to store each component in a seperate file (similar to Unix philosphy) In what way should I go about this?
My first idea was to create a screen/gamestate for each of these componenets, and stack them on top of each other so each is running/displaying at the same time. This feels like it's not a very proper solution so I'm open to other ideas.